在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?}");
