使用 ASP.NET Core 3.1,如何从页面 URL 中删除主控制器?
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 页面中删除“Home”控制器路径?
而不是渲染这个 URL ...
www.mysite.com/Home/About
...我想看这个:
www.mysite.com/About
目前我正在将一个旧的 MVC .NET Web 应用程序从 Visual Studio 2013 (.NET Framework 4.7.2) 移动到 Visual Studio 使用 ASP.NET Core 3.1 的代码。我之前的应用注册了这条路由,产生了如上图的效果
routes.MapRoute(
name: "RemoveHomeFromURL",
url: "{action}",
defaults: new { controller = "Home", action = "Index" },
namespaces: new[] { "MyWebsite.Controllers" }
);
我想在这个新的 ASP.NET 核心 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" });
如何从我的 ASP.NET MVC Core 3.1 Web 应用程序的 URL 页面中删除“Home”控制器路径?
而不是渲染这个 URL ...
www.mysite.com/Home/About
...我想看这个:
www.mysite.com/About
目前我正在将一个旧的 MVC .NET Web 应用程序从 Visual Studio 2013 (.NET Framework 4.7.2) 移动到 Visual Studio 使用 ASP.NET Core 3.1 的代码。我之前的应用注册了这条路由,产生了如上图的效果
routes.MapRoute(
name: "RemoveHomeFromURL",
url: "{action}",
defaults: new { controller = "Home", action = "Index" },
namespaces: new[] { "MyWebsite.Controllers" }
);
我想在这个新的 ASP.NET 核心 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" });