所有标记帮助程序都有效,但 ASP 区域不起作用



嗨,我正在使用这个代码,但是asp-area不工作

<a asp-area="Admin" asp-controller="Sliders"  asp-action="Delete" asp-route-Id="@item.SliderId" class="btn btn-info btn-sm">Delete</a>

没有找到网址:https://localhost:44306/Sliders/Delete/3?area=Admin 的网页所有带区域的路由都工作得很好,Sliders控制器有area属性;

我认为问题是在startup类中定义路由的顺序。我相信你现在有这样的(非区域路由在区域路由之前):

app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");

app.MapControllerRoute(
name: "defaultWithArea",
pattern: "{area=Admin}/{controller=Home}/{action=Index}/{id?}");

尝试改变它们的顺序(先做区域路线后做非区域路线)。并确保从区域路由中取消设置默认区域,即:

app.MapControllerRoute(
name: "defaultWithArea",
pattern: "{area}/{controller=Home}/{action=Index}/{id?}");

否则,任何没有area的链路将被映射到startup中定义路由时使用的默认区域

相关内容

  • 没有找到相关文章

最新更新