asp.net-mvc – ASP.NET MVC 4路由 – controller / id与control
发布时间:2020-12-15 23:45:51 所属栏目:asp.Net 来源:网络整理
导读:我试图添加一个路由到默认路由,所以我有两个url工作: http://www.mywebsite.com/users/create http://www.mywebsite.com/users/1 这将使第一条路线工作: routes.MapRoute( name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller
我试图添加一个路由到默认路由,所以我有两个url工作:
> http://www.mywebsite.com/users/create 这将使第一条路线工作: routes.MapRoute( name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "users",action = "Index",id = UrlParameter.Optional } ); 但是,第二条路线不会明显. 这将使第二条路线工作,但将打破第一条路线: routes.MapRoute( name: "Book",url: "books/{id}",action = "Details" } ); 如何组合两个路由配置,使两个URL工作? 解决方法
关键是要先提出更具体的路线.所以把“书”的路线放在第一位.编辑我想你还需要一个约束,只允许数字匹配此路由的“id”部分.结束编辑
routes.MapRoute( name: "Book",action = "Details" },constraints: new { id = @"d+" } ); routes.MapRoute( name: "Default",id = UrlParameter.Optional } ); 并确保您的“详细信息”操作中的“id”参数是一个int: // "users" controller public ActionResult books(int id) { // ... } 这样,“图书”路线将不会捕获像/ users / create这样的网址(由于第二个参数被重新定义为一个数字),所以将会落在下一个(“默认”)路由. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 当要复制的lob数据的插入长度超过配置的最大值6
- ASP.NET实现大文件上传和下载
- asp.net-mvc – 在IIS7上设置mvc应用程序?
- asp.net-mvc-3 – AZURE ACS – Windows Live ID – 如何获
- asp.net-mvc-routing – ASP.NET Web Api路由(IIS vs Self
- ASP.NET Core 2.0 使用支付宝PC网站支付实现代码
- asp.net-mvc – 什么是上下文?
- Asp.net对Php性能
- 你能运行一个从ASP.Net项目运行计划任务的“服务”吗?
- ASP.NET Core 2.0 本地文件操作问题及解决方案
推荐文章
站长推荐
热点阅读