首页 新闻 会员 周边 捐助

关于ASP.NET4.0 MVC当中有一个叫做约束路由

0
悬赏园豆:10 [待解决问题]

约束路由,一般在什么情况下使用哪?为什么需要约束哪?请帮忙给个实际场景吧!

djlstrong的主页 djlstrong | 初学一级 | 园豆:122
提问于:2014-12-02 19:42
< >
分享
所有回答(3)
0

只听说路由,没听说约束路由

吴瑞祥 | 园豆:29449 (高人七级) | 2014-12-02 21:40
0

这哥们想说路由约束吧。
比如这个路由:

route.MapRoute("MyRoute","{controller}/{action}/{id}",new {controller="Home",action="Index",id=UrlParameter.Optional});

你可以用/controller/action/1/匹配到。

但是我这里有个路由是这样/controller/action/xxx/我不想我用这个路由是想访问别的controller但是这个路由也会被上面的路由规则匹配到,而且参数类型“xxx”还不匹配id这样就会造成错误。

那么我就要加路由约束让上面的路由规则只匹配到/controller/action/id/中的id仅为数字的情况。

写法是这样子的。

route.MapRoute("MyRoute","{controller}/{action}/{id}",new {controller="Home",action="Index",id=UrlParameter.Optional},

new {id=@"\d+"});

Slark.NET | 园豆:692 (小虾三级) | 2014-12-02 22:26

最后一行new{id=@"\d+"});

支持(0) 反对(0) Slark.NET | 园豆:692 (小虾三级) | 2014-12-02 22:27
0

楼上正解,其实也就是一个字符串验证的问题

_Vegetables | 园豆:586 (小虾三级) | 2014-12-03 08:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册