简单的问题。我想要这样的东西:
http://www.mywebsite.com/microsoft 或 http://www.mywebsite.com/apple 所以微软和苹果应该像 id 但我使用它就像默认的 Controller
这是默认路由
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "index", id = UrlParameter.Optional } // Parameter defaults
);
这会产生类似 http://www.mywebsite.com/home/aboutus 或 http://www.mywebsite.com/products/detail/10
我添加了另一条路线
routes.MapRoute(
"Partner", // Route name
"{id}", // URL with parameters
new { controller = "Home", action = "Partners"}, // Parameter defaults
new { id = @"\d+" }
);
但这有一个限制,只允许数字 ID。
如何实现我想要的。
谢谢
最佳答案
如果表达式只能包含字母和数字,您可以修改约束:
routes.MapRoute(
"Partner", // Route name
"{id}", // URL with parameters
new { controller = "Home", action = "Partners"}, // Parameter defaults
new { id = @"^[a-zA-Z0-9]+$" }
);
关于asp.net-mvc - 没有 Controller 和操作名称的 ASP .Net MVC 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423036/