You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 8 MVC中Tag Helpers生成区域链接路径异常求助

解决ASP.NET Core MVC区域Tag Helper链接生成异常问题

问题原因

路由匹配按注册顺序执行,你当前先注册了default路由、后注册areaRoute,导致Tag Helper生成链接时优先匹配不带区域的默认路由,只能将area参数转为查询字符串,而非遵循区域路由规则生成路径。

解决方案

调整路由注册顺序,将区域路由(areaRoute)放在默认路由(default)之前:

// 先注册区域路由
app.MapControllerRoute(
    name: "areaRoute",
    pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

// 再注册默认路由
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

验证要点

  • 确认控制器已添加[Area("Admin")]特性
  • 确认~/Areas/Admin/Views/_ViewImports.cshtml中已导入Tag Helper(通常为@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers)

调整后,<a asp-area="Admin" asp-controller="Home" asp-action="Index"></a>会正确生成~/Admin/Home/Index(可简化为~/Admin)的链接。

内容的提问来源于stack exchange,提问作者Sina Abbaszadeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:14:49