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

ASP.NET Core Razor Pages中如何导航至其他文件夹下的页面?

解决ASP.NET Core Razor Pages导航路径问题

在Razor Pages中使用asp-page标签助手时,不需要包含/Pages前缀——框架默认将Pages文件夹作为页面路由的根目录,你只需要写相对于Pages的路径即可。

正确的导航代码

把你的asp-page属性值修改为/Reader/AddReader,修正后的代码如下:

<div>
    <a class='btn btn-primary btn-lg' asp-page="/Reader/AddReader" style="background-color:yellow;color:black;text-align:left;margin-left:200px;width:400px;text-align:center">Стани читател</a>
</div>

为什么之前的写法无效?

  • Razor Pages的路由系统会自动忽略Pages文件夹前缀,你写/Pages/Reader/AddReader会被框架解析为寻找Pages/Pages/Reader/AddReader.cshtml,显然这个路径不存在,所以导航失效。
  • 如果直接用原生href属性,正确路径应该是href="/Reader/AddReader",同样不需要/Pages。

额外排查点

  1. 确认/Pages/Reader/AddReader.cshtml文件确实存在,且文件名拼写正确(注意大小写,Windows系统不区分,但部署到Linux环境会区分)。
  2. 检查页面所在的_ViewImports.cshtml文件中是否启用了标签助手,确保包含以下代码:
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

如果缺少这行,asp-page标签助手不会生效,浏览器会直接把它当作普通属性处理。

内容的提问来源于stack exchange,提问作者Атанас

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 23:54:50