基于方法将URI路由到不同的类

时间:2014-02-16 06:05:07

标签: asp.net-mvc asp.net-routing asp.net-web-api-routing

我想根据HTTP方法是GET还是POST将相同的URI路由到两个不同的类。我尝试用RouteAttribute做这个,但两条路线都不行。如果我删除一个,另一个工作。如果我将方法放在同一个类中,它也可以工作。我还尝试了RouteAttribute + HttpGetAttributeRouteAttribute + HttpPostAttribute。有没有办法将方法分成两个不同的类?

1 个答案:

答案 0 :(得分:0)

我认为你应该在路由声明中尝试使用HttpMethodConstraint,代码将是这样的:

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") }
);

希望它有所帮助。