📜  asp.net core 中的默认路由 - C# (1)

📅  最后修改于: 2023-12-03 15:13:31.835000             🧑  作者: Mango

ASP.NET Core 中的默认路由

在 ASP.NET Core 中,默认的路由提供了一种简单且易于使用的方法来定义 Web 应用程序的 URL 结构。本文将介绍 ASP.NET Core 中的默认路由,以及如何使用它来定义 Web 应用程序的 URL 结构。

默认路由的结构

默认路由由三个主要部分组成:控制器名称、操作名称和参数。默认情况下,这些部分使用以下约定来构建 URL:

"{controller}/{action}/{id?}"

其中,{controller} 表示控制器名称,{action} 表示操作名称,{id?} 表示可选的参数。

例如,如果有一个名为 HomeController 的控制器,其中有一个名为 Index 的操作,则默认路由将生成以下 URL:

/Home/Index

如果 Index 操作需要一个名为 id 的参数,则默认路由将生成以下 URL:

/Home/Index/{id}
配置默认路由

要配置默认路由,需要在应用程序的 Startup 类中添加以下代码:

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller}/{action}/{id?}",
        defaults: new { controller = "Home", action = "Index" });
});

这将在应用程序中注册默认路由,并将其命名为“default”。如果没有提供控制器和操作名称,则默认控制器将为 Home,默认操作将为 Index

自定义默认路由

如果需要自定义默认路由,则可以通过指定不同的模式和默认值来实现。例如,要使用另一种模式并更改默认操作,请将以下代码添加到 Startup 类中:

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "myRoute",
        pattern: "mycontroller/myaction/{id?}",
        defaults: new { controller = "MyController", action = "MyAction" });
});

这将创建一个名为“myRoute”的路由,该路由由 MyController 控制器的 MyAction 操作处理。如果未提供参数,则默认参数为 id

总结

ASP.NET Core 中的默认路由提供了一种简单且易于使用的方法来定义 Web 应用程序的 URL 结构。默认路由由三个主要部分组成:控制器名称、操作名称和参数。默认情况下,这些部分使用约定来构建 URL。默认路由可以通过在 Startup 类中配置自定义模式来进行自定义。