簡體   English   中英

使用 ASP.NET Core 3.1,如何從頁面 URL 中剝離主頁 controller?

[英]With ASP.NET Core 3.1, how can I strip the Home controller from a page URL?

如何從我的 ASP.NET MVC Core 3.1 web 應用程序的頁面 URL 中刪除“主頁”controller 路徑?

而不是渲染這個 URL...

www.mysite.com/Home/About

...我想看看這個:

www.mysite.com/About

目前,我正在使用 Z9E0DA8438E1E38A1C30F4B7B76CE73B8DDZ Core 將舊的 MVC .NET web 應用程序從 Visual Studio 2013(.NET Framework 4.7.2)移動到 Visual Studio Code。 我之前的應用注冊了這條路由,產生了如上所示的效果。

routes.MapRoute(
    name: "RemoveHomeFromURL",
    url: "{action}",
    defaults: new { controller = "Home", action = "Index" },
    namespaces: new[] { "MyWebsite.Controllers" }
);

我想在這個新的 ASP.NET Core web 應用程序中得到類似的結果。 我在 Startup.cs 中定義了這些端點:

app.UseEndpoints(endpoints =>
{
  endpoints.MapAreaControllerRoute(
    name: "AreaA",
    areaName: "AreaA",
    pattern: "AreaA/{controller=Home}/{action=Index}/{id?}");
  endpoints.MapAreaControllerRoute(
    name: "AreaZ",
    areaName: "AreaZ",
    pattern: "AreaZ/{controller=Home}/{action=Index}/{id?}");
  endpoints.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");
});

為了從 HomeController 所針對的視圖中剝離“/Home/”路徑,我需要應用什么端點模式?

謝謝你的幫助!

//Actions only for Home controller (domain.com/about instead of domain.com/home/about)
endpoints.MapControllerRoute(
      name: "HomeActionOnly", 
      pattern: "{action}", 
      defaults: new { controller = "Home", action = "Index" });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM