Ken*_*mer 2 c# asp.net-mvc-routing asp.net-core
如何从 ASP.NET MVC Core 3.1 Web 应用程序中的页面 URL 中删除“Home”控制器路径?
而不是渲染这个 URL ...
www.mysite.com/Home/About
Run Code Online (Sandbox Code Playgroud)
...我想看到这个:
www.mysite.com/About
Run Code Online (Sandbox Code Playgroud)
目前,我正在使用 ASP.NET Core 3.1 将旧的 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" }
);
Run Code Online (Sandbox Code Playgroud)
我希望在这个新的 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?}");
});
Run Code Online (Sandbox Code Playgroud)
我需要应用什么端点模式才能从 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" });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1471 次 |
| 最近记录: |