打开页面跳转到区域下的控制器
public class RouteConfig { 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 } //); routes.MapRoute( "Default", "{controller}/{action}/{id}", new { controller = "Browse", action = "Index", id = UrlParameter.Optional }, //这里要和Admin块下的默认控制器和action一样 new[] { "WebApplication2测试.Areas.Database.Controllers" }// 这个是你控制器所在命名空间 ).DataTokens.Add("area", "Database"); //区域名称 } } //可跳转到区域下的控制器 }
public class DatabaseAreaRegistration : AreaRegistration { public override string AreaName { get { return "Database"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Database_default", "Database/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } ); } } //这是区域下的路由 不变
<!--http://localhost:58567/Home/Index--> <!--启动跳转到该页面--> <!--http://localhost:58567/--> <!--也跳转到该页面--> home下的index页面 (Home主控制器) http://localhost:58567/Database/Browse/ <!-- 可访问到区域下browse控制器下的index--> Browse区域控制器 Database区域名称 //DatabaseAreaRegistration.cs public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Database_default", "Database/{controller}/{action}/{id}", new { action = "Index", controller = "Browse", id = UrlParameter.Optional } ); } /----------------- 也可 http://localhost:58567/Database/Browse/ <!-- 可访问到区域下browse控制器下的index--> //DatabaseAreaRegistration.cs public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Database_default", "Database/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } ); }