.NET 6中asp-action锚点标签未加载正确值问题求助
可能的原因及排查方向
Tag Helper未注册
检查_ViewImports.cshtml文件,确认是否包含@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers。缺少这一行的话,asp-*属性不会被解析,浏览器会忽略这些属性,最终生成默认的主页链接。控制器/Action不存在
确认项目中存在UsersController类,且类内有CreateUserAction方法(无论是GET还是POST类型)。如果控制器或Action未定义,Tag Helper无法匹配到正确路由,会 fallback到默认路由(即主页)。路由配置异常
查看Program.cs中的路由配置:- 若使用默认MVC路由,检查模板是否为:
当Tag Helper无法匹配到目标路由时,会使用该默认模板生成主页链接。app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); - 若使用属性路由,确认
UsersController或CreateUserAction上的[Route]属性是否存在冲突,导致路由匹配失败。
- 若使用默认MVC路由,检查模板是否为:
属性拼写错误
检查asp-action、asp-controller的拼写是否正确,比如误写为asp-actions或asp-controllers。属性名错误会导致Tag Helper无法识别,进而生成无效链接。区域(Area)影响
如果当前视图位于某个Area下,需添加asp-area=""(空字符串)属性明确指定不使用区域,否则Tag Helper可能会尝试在当前Area内寻找UsersController,找不到则 fallback到主页。
内容的提问来源于stack exchange,提问作者A-Fairooz
相关产品推荐
相关产品推荐

