首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2014-01-09 
问一个mvc路由的简单问题 @Html.ActionLink(GetList,GetList,new { typeid 1,page 1})生成的结果

问一个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

热点排行