在.NET Core Razor Pages中跨文件夹页面导航的问题
解决Razor Pages跨顶级文件夹导航问题
这个问题的核心是你用了相对路径的错误写法,导致Razor Pages解析到了错误的位置。下面是具体的修复方案和原因说明:
正确的导航写法
直接使用根路径开头的绝对路径即可解决问题,把你的锚标签改成:
<a asp-page="/Prescriptions/Index">添加处方</a>
为什么原来的写法不行?
在Razor Pages的asp-page标签助手中:
./表示当前页面所在的目录(也就是你的Admin文件夹)- 所以你原来的
./Prescriptions/Index会被解析为/Admin/Prescriptions/Index,但你的Prescriptions是Pages目录下的顶级文件夹,自然找不到对应的页面
其他可选写法(如果适用)
如果你的Prescriptions/Index页面自定义了路由(比如在页面顶部写了@page "/prescriptions"),也可以直接用路由名称跳转:
<a asp-page="prescriptions">添加处方</a>
不过脚手架默认生成的CRUD页面没有自定义路由,所以第一种绝对路径的写法是最稳妥的选择。
内容的提问来源于stack exchange,提问作者Roddy Balkan
相关产品推荐
相关产品推荐

