+-

我想知道是否可以创建一个比控制器高一层的路由映射.典型的路由将包括“ / controller / action / id”.我正在寻找的是“ section / controller / action / id”或“ controller / section / action / id”之类的东西.我怎样才能做到这一点?
最佳答案
没问题.仅创建一个URL为例如的路由
路径/到/我/应用程序/ {controller} / {action} / {id}
…并像往常一样提供默认的控制器和操作.
一个具体的例子是
context.MapRoute(
"Admin_default",
"admin/{controller}/{action}/{id}",
new { controller = "AdminHome", action = "Index", id = "" }
);
例如,它将映射以下URL:
/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 = "" }
);
…然后,也可以通过此路由访问Admin路由中的控制器操作方法.请使用URL Routing Debugger进行确定.
点击查看更多相关文章
转载注明原文:C#-.NET MVC自定义路由 - 乐贴网