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

Config routes as to set the method after the parameter

我正在尝试将下一个发送给 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 }
);

但其中 none 个在工作。

有什么想法吗?谢谢。

感谢@John @Nkosi 和@Kobi 找到了解决方案

基本上从这一项去掉id = UrlParameter.Optional

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

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

它工作正常。