Minuscule toutes les URL pour les actions et les transitions de page

Date de création de la page :

environnement

Studio visuel
  • Studio visuel 2019
ASP.NET noyau
  • 3.1 (MVC, Page Razor)

Cas d’URL par défaut

ASP.NET à une autre URL, comme un lien, dans l’application Core Web, Fondamentalement, c’est un mélange de cas.

La loi est que pour les pages Razor, le nom du fichier .cshtml dans le dossier Pages, Pour MVC, le nom de la classe contrôleur et le nom de la méthode d’action sont utilisés tels quelle.

Cette loi de dénomination ne s ASP.NET que les fonctionnalités de base pour générer des URL. Par exemple, ceux qui spécifient asp-xxxxx pour:

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

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

Cela n’inclut pas les spécifications d’URL directes comme suit :

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

Soit dit en passant, l’URL générée suit la loi ci-dessus. ASP.NET Core n’est pas sensible aux cas pour les URL accessibles. Il n’est accessible aucune façon dont vous mettez le cas dans l’URL.

Faire toutes les URL minuscules

L’accès lui-même est insensible aux cas, de sorte que vous n’avez pas à vous soucier du problème tel qu’il fonctionne. Certaines personnes peuvent ne pas vouloir que le navigateur Web affiche des majuscules parce qu’elles affichent une URL.

Dans ce cas, .cs ajouter le code suivant au démarrage et l’URL du lien sera minuscule.

// 追加
using Microsoft.AspNetCore.Routing;

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

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