打开页面跳转到区域下的控制器

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

 

posted @ 2018-04-03 17:21  enych  阅读(249)  评论(0编辑  收藏  举报