• asp.net core mvc区域路由


    ASP.NET Core 区域路由(Area Routing)是一种将应用程序中的路由划分为多个区域的方式,类似于 MVC 的控制器和视图的区域划分。区域路由可以帮助开发人员更好地组织应用程序的代码和路由,并使其更易于维护。

    要使用区域路由,在 ASP.NET Core 应用程序中需要进行以下配置:

    1. 在应用程序的 Startup.cs 文件中,添加区域路由的支持。在 ConfigureServices 方法中,添加以下代码:
    services.AddControllersWithViews().AddRazorPagesOptions(options =>
    {
        options.Conventions.AddAreaPageRoute("Admin", "/Index", "admin");
    });
    services.AddRazorPages();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 在应用程序中创建一个或多个区域文件夹,例如 Areas/Admin。在该文件夹中,创建一个 Startup.cs 文件,用于配置该区域的路由。
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();
        }
    
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "admin_default",
                    pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
            });
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    1. 在区域中创建控制器和视图,例如 Areas/Admin/Controllers/UsersController.csAreas/Admin/Views/Users/Index.cshtml。在控制器中,可以使用 Area 特性来指定该控制器属于哪个区域。
    using Microsoft.AspNetCore.Mvc;
    
    [Area("Admin")]
    public class UsersController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1. 在视图中使用 Url.Action 生成区域路由的 URL。例如,在 Areas/Admin/Views/Users/Index.cshtml 视图中生成控制器的 URL 可以使用以下代码:
    <a href="@Url.Action("Index", "Users", new { area = "Admin" })">Manage Users</a>
    
    • 1

    这样,当用户访问以 /Admin 开头的 URL 时,就会自动将路由映射到 Areas/Admin 区域中的控制器和视图。区域路由使得应用程序的代码和路由更加整洁、有序,并可以更好地组织和管理。

  • 相关阅读:
    大数据运维实战第五课 手动模式构建双 Namenode+Yarn 的 Hadoop 集群(上)
    G1D26-DP presentation&NLP相关
    RTC-实时音视频通信技术介绍与应用
    使用VSCODE快速搭建ESP32的ESP-IDF开发环境(Windows 版本)
    Google Earth Engine(GEE)——长时间序列逐月VCI数据提取分析和面积计算(墨西哥为例)
    MySQL Server 5.5 软件和安装配置教程
    c语言:倒序4位数
    力扣:113. 路径总和 II(Python3)
    【Java】fastjson
    CSS_关系选择器
  • 原文地址:https://blog.csdn.net/qq_41942413/article/details/133466001