如何解决Asp.net mvc详细信息方法
| 我正在使用默认路由的项目中工作routes.MapRoute(
\"Default\",// Route name
\"{controller}/{action}/{id}/{name}\",// URL with parameters
new { controller = \"Home\",action = \"Index\",id = UrlParameter.Optional,name = UrlParameter.Optional } // Parameter defaults
);
我有一个用户控制器和方法,如索引,创建和详细信息
我不想创建类似http:// mysite / users / details / 111 / somename的链接
相反,我想创建http:// mysite / users / 111 / somename
像stackoverflow这样的网址。
我知道我可以通过注册这样的路由来实现(在默认路由之前)
routes.MapRoute(
\"UsersDetails\",// Route name
\"Users/{id}/{name}\",// URL with parameters
new { controller = \"Users\",action = \"Details\",name = UrlParameter.Optional } // Parameter defaults
);
但后来我所有其他网址开始造成问题。例如,如果我有网址
http:// somesite / users / registersuccess
是否有解决此问题的方法,或者我应该注册所有URL。
问候
策划者
解决方法
您需要为您的路线的a2ѭ参数设置约束:
routes.MapRoute(
\"UsersDetails\",\"Users/{id}/{name}\",new { controller = \"Users\",action = \"Details\",id = UrlParameter.Optional,name = UrlParameter.Optional },new { id=\"\\d+\" }
);
这样您的其他路线就不会受到影响。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。