zoukankan      html  css  js  c++  java
  • 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 。

  • 相关阅读:
    linux下查看主板内存槽与内存信息
    centos 6 与 centos 7 服务开机启动、关闭设置的方法
    linux 配置本地光盘YUM源
    linux crontab定时任务不执行
    Linux下安装MySQL5.6
    Linux shell 自动删除n天前日志
    nginx request_time 和upstream_response_time
    linux中文件多行合并为一行的例子
    awk 处理文本:行转列,列转行
    nfs环境搭建报错clnt_create: RPC: Program not registered
  • 原文地址:https://www.cnblogs.com/afei-24/p/11379582.html
Copyright © 2011-2022 走看看