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