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

如何调试使用Controller和Action时Razor Asp.Net锚标签生成问题

解决ASP.NET Razor锚标签生成空链接的问题

检查项目类型

  • 若你使用的是ASP.NET MVC项目,asp-controller和asp-action的用法是正确的;但如果是ASP.NET Core Razor Pages项目,这类标签助手不会生效,需改用asp-page,且要使用根目录起始的绝对路径格式,比如asp-page="/Course/Index",而非相对路径。

确认标签助手已启用

  • 检查_ViewImports.cshtml文件,必须包含以下代码,否则所有asp-*属性会被直接忽略,生成的a标签只会保留样式而无href:
    @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
    

验证控制器与动作方法的有效性

  • 确保CourseController是public类且继承自Controller(或ControllerBase),同时Index动作方法为public,未添加[NonAction]特性:
    public class CourseController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    }
    

检查路由配置

  • 打开Program.cs(旧版项目为Startup.cs),确认路由配置正确:
    • MVC项目需确保存在app.MapControllerRoute配置,例如默认路由:
      app.MapControllerRoute(
          name: "default",
          pattern: "{controller=Home}/{action=Index}/{id?}");
      
    • Razor Pages项目则要确保包含app.MapRazorPages()配置。

清理缓存并重新生成项目

  • IDE缓存可能引发异常问题,先右键项目选择「清理」,再重新生成项目后运行测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:57:00