使用Areas(区域)分离ASP.NET MVC 项目

在使用Areas区域时,如果使用默认路由表,将造成路由表冲突,这种情况需要修改一下区域内<区域名称>AreaRegistration.cs和/App_Start/RouteConfig.asax,分别为路由加上命名空间限制:

/Areas/<区域名称>/<区域名称>AreaRegistration.cs

context.MapRoute(

"Admin_default",

"Admin/{controller}/{action}/{id}",

new { action = "Index", id = UrlParameter.Optional },

new string[] { "MyMvcAreasDemo.Areas.Admin.Controllers" } //重点要添加这个

);

/Global.asax.cs

routes.MapRoute(    //Default Route

"Default", // Route name

"{controller}/{action}/{id}", // URL with parameters

new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults

new string[] { "MyMvcAreasDemo.Controllers" }//重点要添加这个

);

访问区域内的Action时使用@Html.ActionLink("后台管理", "Index","Login", new { area = "" })

原文地址:https://www.cnblogs.com/fcu3dx/p/3503563.html