ASP.NET 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 。
到此这篇关于ASP.NET MVC使用区域(Area)功能的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
AjaxControlToolKit DropDownExtender(下拉扩展控件)使用方法
由于工作的需要,使用了这个控件 挺简单,使用这个扩展控件能轻松的吧 Label 控件 TextBox控件扩展成类似DropDownList控件的功能。这样使用既可以使用label控件或者textBox控件的一些属性又能实现dropDownList的功能。2008-10-10ADO.NET 连接数据库字符串小结(Oracle、SqlServer、Access、ODBC)
ADO.NET 连接数据库字符串小结,包括Oracle、SqlServer、Access、ODBC,需要的朋友可以收藏下2012-04-04.Net行为型设计模式之解释器模式(Interpreter)
这篇文章介绍了.Net行为型设计模式之解释器模式(Interpreter),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-05-05Visual Studio快速开发以及Visual Studio 2010新功能介绍
一直以来都在摸索着vb6.0的一些用法和语法,趁这次培训的机会正好整理Visual Studio的一些快速开发的技巧,还有一些vs2010的新功能收集和体会,把培训的一些文档性质的记录下来,希望对各位有用2011-12-12ASP.NET Core中的Configuration配置二
这篇文章介绍了ASP.NET Core中的Configuration配置,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04
最新评论