Areas 提供了一種把大型 ASP.NET Core MVC Web 應用程序分為較小的功能分組的方法,用到了區域那區域路由就必不可少,下面簡單實現區域路由的兩種方式
1 此方式必須給控制器加上區域屬性,也就是路由會自動匹配所有添加路由屬性的controller
1 //路由 2 routes.MapRoute(name: "areaRoute", 3 template: "{area:exists}/{controller=MyHome}/{action=Index}"); 4 5 //controller添加屬性 6 [Area("Manage")] 7 public class UserInfoController : Controller 8 { 9 private readonly IUnitOfWork _unitOfWork; 10 private readonly IUserInfoService _userInfoService; 11 12 public UserInfoController(IUserInfoService userInfoService, IUnitOfWork unitOfWork) 13 { 14 _unitOfWork = unitOfWork; 15 _userInfoService = userInfoService; 16 } 17 public IActionResult Index() 18 { 19 return View(); 20 } 21 }
2 此路由方式不需要給 控制器添加區域屬性[Area("Manage")],也就是每添加一個區域就要為該區域添加一個路由方式
1 routes.MapAreaRoute("Manage_route", "Manage", 2 "Manage/{controller=MyHome}/{action=Index}/{id?}" 3 );