我们新建非空MVC项目的时候,项目默认跳转地址为项目的根目录视图,即Home/Index。这时候我们项目中又存在多个区域A和B,而这时候我们想让项目默认跳转的视图为区域A下的Login/Index视图,这时候我们就需要对App_Start文件夹下的RouteConfig.cs代码做一些修改,具体代码如下所示:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//默认
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "Quber.Controllers" }//设置主路由的命名空间,防止与区域Area中控制器名称发生冲突
);
//修改如下:
//设置A区域下Login控制器中的Index为默认视图
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "Quber.Areas.A.Controllers" }//设置主路由的命名空间,防止与区域Area中控制器名称发生冲突
).DataTokens.Add("Area", "A");
}
说明:代码中的Quber代表项目的命名空间