欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

在 ASP.NET Core MVC 中使用 Areas

发布时间:2024/3/26 68 豆豆
生活随笔 收集整理的这篇文章主要介绍了 在 ASP.NET Core MVC 中使用 Areas 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在 ASP.NET Core MVC 中使用 Areas

  • 为什么要用 Areas
  • 怎么用 Areas
  • ⚠️使用注意

为什么要用 Areas

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

怎么用 Areas

  • 在项目根目录下添加 Areas 文件夹
  • 在 Areas 下添加业务文件夹(如 Test)
  • 在 Test 文件夹下添加 Controllers 和 Views 文件夹
  • 这样 Areas 的文件结构就搭完了,见下图:
  • 在开发 Controllers 的时候,有一点需要注意,Areas 下的 Controller 需要添加 Area 属性,见下图:
  • 再就是路由有点小改动,如果想匹配到 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

    总结

    以上是生活随笔为你收集整理的在 ASP.NET Core MVC 中使用 Areas的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。