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 }
);
}