.net core区域设置方式

在Startup中配置

默认路由是这个,并不包含区域路由

                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");

IRouteBuilder有个扩展类MvcAreaRouteBuilderExtensions用于添加路由,这点类似于asp.net mvc,唯一让我觉得蛋疼的是必须要在控制器上添加特性Area

                routes.MapAreaRoute(
                    name: "systemArea",
                    areaName: "System",
                    template: "System/{controller=User}/{action=index}");
    [Area("System")]
    public class UserController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }

当然还有一种全局配置方式,个人觉得这样不太好,因为每个区域的默认加载控制器可能是不一样的

                routes.MapRoute(name: "areaRoute",
                    template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");


                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");

 

posted on 2017-03-18 10:02  Jade_K  阅读(2030)  评论(0编辑  收藏  举报

导航