ASP.NET Core MVC 之区域(Area)
區域(Area)是一個 ASP.NET MVC 功能,用于將相關功能組織為一個單獨的命名空間(用于路由)和文件結構(用于視圖)。使用區域通過向控制器和操作添加 一個路由參數(area)來創建用于路由目的的層次結構。
區域提供了一種將大型ASP.NET Core MVC Web 應用程序分割成更小功能分組的方法。一個區域實際上是應用程序內的 MVC 結構。對于大型應用程序,將應用程序分成單獨的該機功能區域是有利的。例如,具有多個業務單位的電子商務應用的結賬,計費,搜索等。
在?ASP.NET Core MVC 項目中,一個區域可以定義為具有自己的一組控制器,視圖和模型的較小的功能單元。
下列情況可以考慮使用區域:
應用程序由多個高級功能組件組成,應在邏輯上分開。
想要劃分 MVC 項目,使每個功能區域可以單獨工作。
區域特點:
ASP.NET Core MVC 應用程序可以有任意數量的區域。
每個區域都有自己的控制器,視圖和模型。
允許將大型 MVC 項目組織成可以獨立工作的多個高級組件。
支持具有相同名稱的多個控制器 —— 只要它們所在區域不同。
?
配置區域路由在?ASP.NET Core MVC 之路由(Routing)?中有介紹。區域視圖檢索路徑和正常視圖一致,默認的位置可以通過 Microsoft.AspNetCore.Mvc.Razor.RazorViewEngineOptions 的 AreaViewLocationFormats 方法被修改。
例如,下面代碼中的文件夾名為 Area,它將被修改為 Categories :
services.Configure<RazorViewEngineOptions>(options =>{options.AreaViewLocationFormats.Clear();options.AreaViewLocationFormats.Add("/Categories/{2}/Views/{1}/{0}.cshtml");options.AreaViewLocationFormats.Add("/Categories/{2}/Views/Shared/{0}.cshtml");options.AreaViewLocationFormats.Add("/Views/Shared/{0}.cshtml");});需要注意的一點是,Views 文件夾的結構是唯一需要重點考慮的,其他文件夾如 Controller 和 Modes 的內容并不重要。因為?Controller 和 Modes? 的內容只是被編譯成 .dll 代碼,而不是作為 Views 的內容直到視圖被請求。
在發布時需要注意發布 Area 文件夾,需要發布 Area 文件夾下的所有 view 。
?
轉載于:https://www.cnblogs.com/afei-24/p/11379582.html
總結
以上是生活随笔為你收集整理的ASP.NET Core MVC 之区域(Area)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大陆有电脑主板厂商吗吗(大陆主板生产商)
- 下一篇: linux下跟服务相关的路径是?