在 ASP.NET Core MVC 中使用 Areas

本文介绍了ASP.NET Core MVC中使用Areas的原因、步骤及注意事项。通过Areas,开发者能更好地组织不同业务模块,提高开发和维护效率。创建Areas涉及在项目中添加Areas文件夹及相应业务文件夹,Controllers需添加Area属性,路由规则需适当调整。此外,还讨论了如何处理Areas与全局View布局的关系,以及如何进行页面间的跳转。

在 ASP.NET Core MVC 中使用 Areas

为什么要用 Areas

使用 Areas ,可以将应用程序中不同的业务模块分类,每个业务模块都可以有自己的一组 Razor Pages、Controller、View 和 Model,可以更方便的开发和维护。

怎么用 Areas

  1. 在项目根目录下添加 Areas 文件夹
  2. 在 Areas 下添加业务文件夹(如 Test)
  3. 在 Test 文件夹下添加 Controllers 和 Views 文件夹
  4. 这样 Areas 的文件结构就搭完了,见下图:
    在这里插入图片描述
  5. 在开发 Controllers 的时候,有一点需要注意,Areas 下的 Controller 需要添加 Area 属性,见下图:
    在这里插入图片描述
  6. 再就是路由有点小改动,如果想匹配到 Areas 下面的 Controller,需要增加以下路由规则,有两种写法:
// 第一种写法
endpoints.MapControllerRoute(
    name: "area",
    pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
// 第二种写法
// Test 是 Areas 文件夹下业务文件夹的名称
endpoints.MapAreaControllerRoute(
    name: "area",
    areaName: "Test",
    pattern: "Test/{controller=Home}/{action=Index}/{id?}");

在这里插入图片描述

⚠️使用注意

  • 如果想让 Areas 文件夹里面的 View 和外面的 View 使用统一的布局,可以将 _ViewStart.cshtml 文件,放到项目根目录下,如下图:
    在这里插入图片描述
  • 当然 Areas 文件夹下的 View 也可以使用单独的页面布局,可以建立自己的 Shared 文件夹,文件夹结构见下图:
    在这里插入图片描述
  • 页面间的跳转,要跳转到 Areas 下的 Controller,除了要指定 Controller 和 Action,还要指定 area,area 的值是业务文件夹的名称,所以跳转链接就变成了这样:
<a asp-area="Test" asp-controller="Home" asp-action="Index"> ... </a>

官网使用教程🔗:https://docs.microsoft.com/zh-cn/aspnet/core/mvc/controllers/areas?view=aspnetcore-5.0

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值