读书人

问一个mvc路由的简单有关问题

发布时间: 2014-01-09 23:07:34 作者: rapoo

问一个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来更精准地限定路由,否则你的代码匹配的是第一个路由,当然会生成你现在的结果。
[解决办法]
引用:
Quote: 引用:

把第二个路由定义放到第一个的前边,或者使用constraints来更精准地限定路由,否则你的代码匹配的是第一个路由,当然会生成你现在的结果。

@Html.ActionLink 的方法里面 没有指定路由的重载啊

没有,你可以用RouteLink
[解决办法]
引用:
Quote: 引用:

把第二个路由定义放到第一个的前边,或者使用constraints来更精准地限定路由,否则你的代码匹配的是第一个路由,当然会生成你现在的结果。

@Html.ActionLink 的方法里面 没有指定路由的重载啊

和ActionLink没关系只要你路由匹配到了就会生成指定的url

读书人网 >asp.net

热点推荐