使操作或页面转换的所有 URL 都小写

页面创建日期 :

环境

Visual Studio
  • Visual Studio 2019
ASP.NET Core
  • 3.1 (MVC, Razor 页面)

默认 URL 大小写

ASP.NET Core Web 应用中,当您通过链接等转换到其他 URL 时, 它基本上是混合大小写。

规则是,对于 Razor 页面,请指定 Pages 文件夹中的 .cshtml 文件名。 对于 MVC,将按原样使用控制器类名称和操作方法名称。

此命名法仅适用于使用 ASP.NET Core 功能生成 URL 的命名法。 例如,为以下内容指定 asp-xxxxxx:

<!-- Razor ページの場合 -->
<a asp-area="" asp-page="/Privacy">Privacy</a>

<!-- MVC の場合 -->
<a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>

直接指定 URL 的内容不符合条件,如下所示:

<a href="/Privacy">Privacy</a>

顺便说一下,生成的 URL 遵循上述规则。 ASP.NET Core 不区分大小写访问 URL。 您可以按大小写访问 URL。

使所有 URL 都小写

访问本身不区分大小写,因此您不需要担心问题作为行为。 有些人可能不希望大写字母显示,因为 Web 浏览器显示 URL。

在这种情况下,将以下.cs添加到 Startup 文件将使所有链接 URL 都小写:

// 追加
using Microsoft.AspNetCore.Routing;

public class Startup
{
  public void ConfigureServices(IServiceCollection services)
  {
    services.AddRazorPages();

    // 追加
    services.Configure<RouteOptions>(options =>
    {
      // URL を小文字にする
      options.LowercaseUrls = true;
    });
  }
}