MVC区域路由分辨率

时间:2012-09-06 05:45:28

标签: c# asp.net-mvc asp.net-mvc-routing

如果您的解决方案中有区域,则使用MVC3 / 4,它将尝试解决区域和根级别控制器的顺序是什么?

例如:

首先尝试根级路由,然后按字母顺序尝试区域级路由吗?

或者它首先按字母顺序检查区域级别路线,然后检查根级别?

由于

1 个答案:

答案 0 :(得分:1)

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
    }

我还没试过,但是如果你想改变这种行为,你可以尝试在你的项目中交换这些代码行。