Μείωση όλων των διευθύνσεων URL για ενέργειες και μεταβάσεις σελίδων

Ημερομηνία δημιουργίας σελίδας :

Περιβάλλον

Οπτικό Στούντιο
  • Οπτικό Στούντιο 2019
ASP.NET Πυρήνας
  • 3.1 (MVC, σελίδα ξυραφιών)

Προεπιλεγμένη περίπτωση URL

ASP.NET σε άλλη διεύθυνση URL, όπως μια σύνδεση, στην εφαρμογή Core Web, Βασικά, είναι ένα μείγμα υπόθεσης.

Ο νόμος είναι ότι για τις σελίδες ξυραφιών, το όνομα αρχείου .cshtml στο φάκελο Pages, Για το MVC, το όνομα κλάσης ελεγκτή και το όνομα μεθόδου ενέργειας χρησιμοποιούνται ως έχουν.

Αυτός ο νόμος ονομασίας ισχύει μόνο ASP.NET βασικές δυνατότητες για τη δημιουργία διευθύνσεων URL. Για παράδειγμα, αυτά που καθορίζουν asp-xxxxx για:

<!-- 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 Πυρήνας δεν κάνει διάκριση πεζών-κεφαλαίων για διευθύνσεις URL με πρόσβαση. Είναι προσβάσιμο όχι πώς βάζετε τη θήκη στη διεύθυνση URL.

Κάντε όλες τις διευθύνσεις URL πεζές

Η πρόσβαση από μόνη της είναι αναίσθητη, οπότε δεν χρειάζεται να ενδιαφέρεστε για το πρόβλημα καθώς λειτουργεί. Ορισμένα άτομα ενδέχεται να μην θέλουν το πρόγραμμα περιήγησης web να εμφανίζει κεφαλαία γράμματα, επειδή εμφανίζουν μια διεύθυνση URL.

Σε αυτήν την περίπτωση, .cs προσθέσετε τον ακόλουθο κώδικα στην εκκίνηση και η διεύθυνση URL σύνδεσης θα είναι πεζή.

// 追加
using Microsoft.AspNetCore.Routing;

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

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