.NET MVC自定义路由
-
06-07-2019 - |
题
我想知道是否可以创建一个比控制器更高级别的路由映射。典型的路由包括“/ controller / action / id”。我正在寻找的是像“section / controller / action / id”这样的东西。或“controller / section / action / id”。我怎么能这样做?
解决方案
没问题。只需创建一个URL,例如
<代码>路径/到/我的/应用/ {控制器} / {行动} / {ID} 代码>
...并照常提供默认控制器和操作。
具体的例子是
context.MapRoute(
"Admin_default",
"admin/{controller}/{action}/{id}",
new { controller = "AdminHome", action = "Index", id = "" }
);
这将映射以下网址:
/admin/ => AdminHomeController.Index
/admin/adminhome/ => AdminHomeController.Index
/admin/other/ => OtherController.Index
/admin/statistics/view/50 => StatisticsController.View(50)
但请注意,如果您还有默认路线,例如:
context.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
...然后管理员路由中的控制器操作方法也可以通过此路由访问。使用 URL路由调试器查找确定
不隶属于 StackOverflow