Erendahkan semua URL untuk tindakan dan peralihan halaman

Tarikh penciptaan halaman :

Persekitaran

Visual Studio
  • Studio Visual 2019
ASP.NET Teras
  • 3.1 (MVC, laman Cukur)

Kes URL lalai

ASP.NET ke URL lain, seperti pautan, dalam aplikasi Web Teras, Pada asasnya, ia adalah campuran kes.

Undang-undang adalah bahawa untuk halaman Razor, nama fail .cshtml dalam folder Pages, Bagi MVC, nama kelas pengawal dan nama kaedah tindakan digunakan seperti mana.

Undang-undang penamaan ini hanya terpakai ASP.NET ciri-ciri teras untuk menjana URL. Sebagai contoh, mereka yang menentukan asp-xxxxx untuk:

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

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

Ini tidak termasuk spesifikasi URL langsung seperti berikut:

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

Dengan cara ini, URL yang dihasilkan mengikut undang-undang di atas. ASP.NET Tidak sensitif huruf besar untuk URL yang diakses. Ia boleh diakses tidak bagaimana anda meletakkan kes dalam URL.

Jadikan semua URL diturunkan

Akses sendiri adalah tidak sensitif kes, jadi anda tidak perlu mengambil berat tentang masalah itu kerana ia berfungsi. Sesetengah orang mungkin tidak mahu pelayar web memaparkan huruf besar kerana mereka memaparkan URL.

Dalam kes ini, .cs menambah kod berikut untuk permulaan dan URL pautan akan diturunkan.

// 追加
using Microsoft.AspNetCore.Routing;

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

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