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


參考文檔:

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

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

 

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

 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視圖,待會兒添加區域模塊之后,要和這兩個默認的控制器做訪問對比

然后接下來需要手動添加一個文件夾, 名字:Areas (必須用這個名字),在該文件夾下創建一個 Users 區域模塊,結構如下

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

代碼如下:

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  則出現下邊頁面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM