【发布时间】:2012-08-30 21:27:39
【问题描述】:
如果您的解决方案中有区域,则使用 MVC3/4,它将尝试解析区域和根级别控制器的顺序是什么?
例如:
是否先尝试根级路由,然后按字母顺序尝试区域级路由?
还是先按字母顺序检查区域级路由,再检查根级?
谢谢
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-routing
如果您的解决方案中有区域,则使用 MVC3/4,它将尝试解析区域和根级别控制器的顺序是什么?
例如:
是否先尝试根级路由,然后按字母顺序尝试区域级路由?
还是先按字母顺序检查区域级路由,再检查根级?
谢谢
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-routing
MVC 解析器首先区域特定路由,然后是根级别路由。这是因为默认情况下您在 Global.asax 中有下一个代码:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); //1. registers areas
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes); //2. only after that register root routes
}
我还没有尝试过,但如果您想改变这种行为,您可以尝试在您的项目中交换这些代码行。
【讨论】: