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
- 如果链接在Pages目录下的Razor页面中使用,需在Pages根目录创建
验证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
相关产品推荐
相关产品推荐

