Asp.net mvc 基于方法将URI路由到不同的类

Asp.net mvc 基于方法将URI路由到不同的类,asp.net-mvc,asp.net-routing,asp.net-web-api-routing,Asp.net Mvc,Asp.net Routing,Asp.net Web Api Routing,我想根据HTTP方法是GET还是POST,将相同的URI路由到两个不同的类。我尝试使用RouteAttribute执行此操作,但两条路径都不起作用。如果我去掉一个,另一个就可以了。如果我将这些方法放在同一个类中,它也可以工作。我还尝试了RouteAttribute+HttpGetAttribute和RouteAttribute+httpposattribute。有没有办法将方法分成两个不同的类?我认为您应该尝试在路由声明中使用,代码如下: routes.MapRoute( "route

我想根据HTTP方法是GET还是POST,将相同的URI路由到两个不同的类。我尝试使用
RouteAttribute
执行此操作,但两条路径都不起作用。如果我去掉一个,另一个就可以了。如果我将这些方法放在同一个类中,它也可以工作。我还尝试了
RouteAttribute
+
HttpGetAttribute
RouteAttribute
+
httpposattribute
。有没有办法将方法分成两个不同的类?

我认为您应该尝试在路由声明中使用,代码如下:

routes.MapRoute(
    "route for the GET verb",
    "url",
    new { controller = "controller", action = "action" },
    new { httpMethod = new HttpMethodConstraint("GET") }
);

routes.MapRoute(
    "route for POST verb",
    "url",
    new { controller = "other controller", action = "other action" },
    new { httpMethod = new HttpMethodConstraint("POST") }
);
希望能有帮助