कार्यों और पृष्ठ संक्रमण के लिए सभी यूआरएल को कम करें

पेज निर्माण की तारीख :

पर्यावरण

विजुअल स्टूडियो
  • विजुअल स्टूडियो 2019
ASP.NET कोर
  • 3.1 (एमवीसी, रेजर पेज)

डिफॉल्ट यूआरएल केस

कोर वेब ऐप में एक लिंक जैसे दूसरे यूआरएल के ASP.NET, असल में, यह मामले का मिश्रण है।

कानून यह है कि रेजर पेजों के लिए, पेज फ़ोल्डर में .cshtml फ़ाइल नाम, एमवीसी के लिए कंट्रोलर क्लास का नाम और एक्शन मेथड नाम का इस्तेमाल किया जाता है।

यह नामकरण कानून यूआरएल उत्पन्न करने के लिए केवल ASP.NET मुख्य सुविधाओं पर लागू होता है। उदाहरण के लिए, वे जो एएसपी-xxxxx को निर्दिष्ट करते हैं:

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

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

इसमें प्रत्यक्ष यूआरएल स्पेसिफिकेशन इस प्रकार शामिल नहीं हैं:

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

वैसे, उत्पन्न यूआरएल उपरोक्त कानून का पालन करता है। ASP.NET कोर एक्सेस किए गए यूआरएल के लिए मामला-संवेदनशील नहीं है। यह सुलभ नहीं है कि आप यूआरएल में केस कैसे डालते हैं।

सभी यूआरएल को लोअरकेस बनाएं

पहुंच ही मामला असंवेदनशील है, तो आप समस्या के बारे में परवाह नहीं है के रूप में यह काम करता है । हो सकता है कि कुछ लोग नहीं चाहते कि वेब ब्राउज़र पूंजी पत्र प्रदर्शित करे क्योंकि वे यूआरएल प्रदर्शित करते हैं।

इस मामले में, .cs स्टार्टअप में निम्नलिखित कोड जोड़ें और लिंक यूआरएल कम हो जाएगा।

// 追加
using Microsoft.AspNetCore.Routing;

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

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