+-
C#-.NET MVC自定义路由
我想知道是否可以创建一个比控制器高一层的路由映射.典型的路由将包括“ / 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自定义路由 - 乐贴网