.NetCore MVC 3.0 項目 區域路由配置及使用

參考文檔:html

https://www.cnblogs.com/Allen0910/p/6629507.htmlapp

https://blog.csdn.net/dupeng0811/article/details/90616546spa

 

首先須要在 Configure 方法中的默認路由配置下邊添加區域路由配置.net

 1             app.UseEndpoints(endpoints =>
 2             {
 3                 endpoints.MapControllerRoute(
 4                     name: "default",
 5                     pattern: "{controller=Home}/{action=Index}/{id?}");
 6 
 7                 //區域路由配置
 8                 endpoints.MapAreaControllerRoute(
 9                     name: "areas", "areas",
10                     pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
11 
12             });

項目中默認控制器裏分別有HomeController 和 TestController 兩個控制器及View視圖,待會兒添加區域模塊以後,要和這兩個默認的控制器作訪問對比3d

而後接下來須要手動添加一個文件夾, 名字:Areas (必須用這個名字),在該文件夾下建立一個 Users 區域模塊,結構以下code

在模塊下添加一個基類BaseController,在基類的頭部聲明路由屬性 [Route("[area]/[controller]/[action]")] ,這樣之後擴展就比較方便了htm

代碼以下:blog

1     [Route("[area]/[controller]/[action]")]
2     public class BaseController : Controller
3     {
4 
5     }

而後再添加一個區域控制器AreaController,用於繼承上邊的基類 BaseController繼承

在區域控制器AreaController 中添加屬性標籤  [Area("users")]路由

1     [Area("users")]
2     public class AreaController : BaseController
3     {
4 
5     }

而後再區域中添加的控制器都繼承該區域控制器

 1     public class TestController : AreaController  2     {
 3         public IActionResult Index()
 4         {
 5             return View();
 6         }
 7     }
 8 
 9     public class HomeController : AreaController 10     {
11         public IActionResult Index()
12         {
13             return View();
14         }
15     }

接下了開始運行訪問剛纔建立的頁面,

默認訪問的是默認控制器下的首頁,即:默認的 Home/Index

換成:test/index 則調到以下圖所示頁面

在地址欄輸入: /users/home/index  ,頁面跳轉到區域模塊了

換成路徑: /users/test/index  則出現下邊頁面

相關文章
相關標籤/搜索