ASP.NET MVC使用區(qū)域(Area)功能
區(qū)域(Area)是一個 ASP.NET MVC 功能,用于將相關(guān)功能組織為一個單獨(dú)的命名空間(用于路由)和文件結(jié)構(gòu)(用于視圖)。使用區(qū)域通過向控制器和操作添加 一個路由參數(shù)(area)來創(chuàng)建用于路由目的的層次結(jié)構(gòu)。
區(qū)域提供了一種將大型ASP.NET Core MVC Web 應(yīng)用程序分割成更小功能分組的方法。一個區(qū)域?qū)嶋H上是應(yīng)用程序內(nèi)的 MVC 結(jié)構(gòu)。對于大型應(yīng)用程序,將應(yīng)用程序分成單獨(dú)的該機(jī)功能區(qū)域是有利的。例如,具有多個業(yè)務(wù)單位的電子商務(wù)應(yīng)用的結(jié)賬,計費(fèi),搜索等。
在 ASP.NET Core MVC 項(xiàng)目中,一個區(qū)域可以定義為具有自己的一組控制器,視圖和模型的較小的功能單元。
下列情況可以考慮使用區(qū)域:
- 應(yīng)用程序由多個高級功能組件組成,應(yīng)在邏輯上分開。
- 想要劃分 MVC 項(xiàng)目,使每個功能區(qū)域可以單獨(dú)工作。
區(qū)域特點(diǎn):
- ASP.NET Core MVC 應(yīng)用程序可以有任意數(shù)量的區(qū)域。
- 每個區(qū)域都有自己的控制器,視圖和模型。
- 允許將大型 MVC 項(xiàng)目組織成可以獨(dú)立工作的多個高級組件。
- 支持具有相同名稱的多個控制器 —— 只要它們所在區(qū)域不同。
配置區(qū)域路由在 ASP.NET Core MVC 之路由(Routing) 中有介紹。區(qū)域視圖檢索路徑和正常視圖一致,默認(rèn)的位置可以通過 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"); });
需要注意的一點(diǎn)是,Views 文件夾的結(jié)構(gòu)是唯一需要重點(diǎn)考慮的,其他文件夾如 Controller 和 Modes 的內(nèi)容并不重要。因?yàn)?nbsp;Controller 和 Modes 的內(nèi)容只是被編譯成 .dll 代碼,而不是作為 Views 的內(nèi)容直到視圖被請求。
在發(fā)布時需要注意發(fā)布 Area 文件夾,需要發(fā)布 Area 文件夾下的所有 view 。
到此這篇關(guān)于ASP.NET MVC使用區(qū)域(Area)功能的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ADO.NET 連接數(shù)據(jù)庫字符串小結(jié)(Oracle、SqlServer、Access、ODBC)
ADO.NET 連接數(shù)據(jù)庫字符串小結(jié),包括Oracle、SqlServer、Access、ODBC,需要的朋友可以收藏下2012-04-04ASP.NET MVC中_ViewStart.cshtml作用介紹
這篇文章介紹了ASP.NET MVC中_ViewStart.cshtml的作用,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03部署ASP.NET?Core程序到Linux系統(tǒng)
這篇文章介紹了部署ASP.NET?Core程序到Linux系統(tǒng)的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03ASP.NET中 ObjectDataSource控件的DataObjectTypeName屬性
本文主要介紹ObjectDataSource控件和DataObjectTypeName屬性的用法,希望能給小伙伴們一些幫助。2016-04-04.Net結(jié)構(gòu)型設(shè)計模式之適配器模式(Adapter)
這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計模式之適配器模式(Adapter),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05