[英]Asp.net Core 3.1- How can I return from Controller to Razor Page?
[英]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.