[英]Asp.Net core MVC Area routing not working as expected
我有一個要在其中使用區域的應用程序。 但是路由沒有按預期工作。
我有一個名為Admin的區域
我在 startup.cs 配置方法中有以下代碼
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
endpoints.MapAreaControllerRoute(
name: "areas",
areaName: "Admin",
pattern: "{area}/{controller=Home}/{action=Index}/{id?}"
);
});
當我使用以下代碼路由創建錨標記時不起作用
<a class="nav-link" asp-area="Admin" asp-controller="Home" asp-action="Index">Admin</a>
當應用程序運行時,它讓我關注 url
問題是什么? 為什么沒有生成正確的 url
這可能會對您有所幫助。 我將它用於我的 .net 核心 3.1 項目,它運行良好,沒有任何問題。
app.UseEndpoints(endpoints =>
{
endpoints.MapAreaControllerRoute(
name: "AdministratorArea",
areaName: "Administrator",
pattern: "Administrator/{controller=Home}/{action=Index}"); //This is Administrator route. You can you {id} and other parameters which you want
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}"); // This route is for Controllers which are situated in project controller folder
});
你也得到了正確的代碼。只要確保你的新 AreaControllerRoute 高於默認值。
app.UseEndpoints(endpoints =>
{
endpoints.MapAreaControllerRoute(
name: "areas",
areaName: "Admin",
pattern: "{area}/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.