我的global.asax
中有404路由 routes.MapRoute(
"404",
"{*url}",
new { controller = "Error", action = "PageNotFound" })
;
区域内的路线。 如果请求在global.asax中进入路由,则ROUTE TABLE中的路由顺序为:
1)区域路线
2)global.asax路线
3)404路线
但是如果请求进入区域,则ROUTE TABLE中的路由顺序为:¨
1)global.asax路线
2)404路线
3)区域路线
答案 0 :(得分:1)
路由在默认MVC应用程序中的应用顺序为:
1。)区域 2.)全球 3.)路线表
正如默认代码所示:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
您会注意到区域及其注册优先于RegisterRoutes方法中注册的路线。为什么?当上面的代码用于注册路由表时,路由在整个路由列表中显示为FIRST。
因此,如果您的代码与下面的代码相同,并且您没有按照正确的路线进行操作,则可能是您在区域或Global.asax中配置路线的顺序。