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

ASP.NET Core 7 MVC项目中Razor页面asp-page链接失效问题排查

解决ASP.NET Core 7 MVC中Razor Pages标签助手asp-page不生效的问题

你遇到的asp-page标签助手显示为纯文本的问题,核心原因是标签助手未被正确加载,以下是具体排查和解决步骤:

  • 确保页面所在目录存在_ViewImports.cshtml

    • 如果链接在Pages目录下的Razor页面中使用,需在Pages根目录创建_ViewImports.cshtml,添加内容:
      @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
      @addTagHelper *, Microsoft.AspNetCore.Mvc.RazorPages
      @namespace YourProjectName.Pages
      

      替换YourProjectName为项目实际命名空间,保证页面命名空间与目录结构匹配。

    • 如果链接在Views目录下的MVC视图中使用,修改Views目录下的_ViewImports.cshtml,添加Razor Pages标签助手引用:
      @addTagHelper *, Microsoft.AspNetCore.Mvc.RazorPages
      
  • 验证Razor页面的@page指令
    确认DailySchedule.cshtml文件顶部存在@page指令(这是Razor页面的核心标识):

    @page
    @model YourProjectName.Pages.Schedules.DailyScheduleModel
    
    <!-- 页面内容 -->
    
  • 检查路径写法的正确性
    asp-page的路径基于Pages根目录,你使用的/Schedules/DailySchedule写法正确,但需确保:

    • 目录结构确实为Pages/Schedules/DailySchedule.cshtml
    • 页面文件名与对应的Model类名匹配(如DailySchedule.cshtml对应DailyScheduleModel)
  • 确认Program.cs配置无误
    你已添加的以下配置是正确的,无需调整:

    builder.Services.AddRazorPages();
    
    // ...其他中间件配置
    
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    app.MapRazorPages();
    

完成以上操作后,asp-page标签助手应该能正常生成有效链接,不再显示纯文本代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:25:05