asp.net-mvc – ASP.NET MVC 4路由 – controller / id与controller /
发布时间:2020-05-24 00:28:26 所属栏目:asp.Net 来源:互联网
导读:我试图添加一个路由到默认路由,所以我有两个url工作: http://www.mywebsite.com/users/create http://www.mywebsite.com/users/1 这将使第一条路线工作: routes.MapRoute( name: Default, url: {controller}/{action}/{id}, d
|
我试图添加一个路由到默认路由,所以我有两个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 – 是否有一个简单的方法来呈现具有Microsoft Web
- asp.net – 如何从相同的解决方案的MVC项目调试Web API项目
- asp.net – 在IIS中有类似cron作业的东西吗?
- .net – Nuget包,没有nuget包管理器?
- asp.net-mvc – 从MVC版本1迁移后,ASP.NET MVC 2 actionlin
- 如何使用asp.net webapi获取Json Post Values
- asp.net-mvc – 在VS2015中使用gulp在ASP.NET 4.5.2 MVC项目
- asp.net-mvc – 实现IModelBinder的最佳实践
- asp.net – 找不到可安装的ISAM. ‘/’应用程序中的服务器错
- asp.net-core-signalr – 在ClientSide上获取SignalrR Conn
推荐文章
站长推荐
- asp.net web-api – ASP.net Web API RESTful We
- asp.net – GridView中的TemplateField标题
- asp.net中的多线程
- asp.net-mvc-4 – 调用客户端时应该发出服务器端
- asp.net-mvc-4 – 在一个项目中混合Web Api和ASP
- asp.net-mvc – 剃刀替换的优点(@href)
- asp.net – 实体框架不会显示存储过程
- asp.net – 电子邮件CSS
- asp.net-mvc – ASP.NET MVC 3 Razor模板VS Rend
- asp.net-mvc – ASP MVC3在actionlink中插入html
热点阅读
