问一个mvc路由的简单问题
@Html.ActionLink("GetList","GetList",new { typeid = 1,page = 1})
生成的结果是
<a href="/Cases/GetList?typeid=1&page=1">GetList</a>
我怎么样能输出这样的路由
<a href="/Cases/GetList/1/1">GetList</a>
routeconfig是这样写的
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Cases",
"{controller}/{action}/{typeid}/{page}",
new { controller = "Cases", action = "GetList", typeid = 1, page = 1 }
);
------解决方案--------------------把第二个路由定义放到第一个的前边,或者使用constraints来更精准地限定路由,否则你的代码匹配的是第一个路由,当然会生成你现在的结果。
------解决方案--------------------
没有,你可以用RouteLink
------解决方案--------------------
把第二个路由定义放到第一个的前边,或者使用constraints来更精准地限定路由,否则你的代码匹配的是第一个路由,当然会生成你现在的结果。
@Html.ActionLink 的方法里面 没有指定路由的重载啊
和ActionLink没关系只要你路由匹配到了就会生成指定的url