配置路由以在参数后设置方法

时间:2017-01-05 14:47:03

标签: c# asp.net-mvc asp.net-mvc-routing

我正在尝试将下一个发送到C#控制器:

www.page.com/app/codes/10/status

参数为10status为方法。

如果我在参数正常工作之前发送www.page.com/app/codes/status/10状态,但不是以其他方式发送。

我尝试将路由配置为

routes.MapRoute(
name: "codes",
url: "{controller}/{id}/status",
defaults: new { controller = "codes", action = "Status", id = UrlParameter.Optional }
);

routes.MapRoute(
name: "codes",
url: "codes/{id}/status",
defaults: new { controller = "codes", action = "Status", id = UrlParameter.Optional }
);

但他们都没有工作。

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:3)

感谢@John @Nkosi和@Kobi

找到解决方案

基本上从这一个删除id = UrlParameter.Optional

routes.MapRoute(
name: "codes",
url: "{controller}/{id}/status",
defaults: new { controller = "codes", action = "Status" }
);

我也将这条路线移到了第一位。

并且工作正常。