ASP.NET Core 6 Razor Pages添加页面链接跳转失败问题求助
解决ASP.NET Core 6 Razor Pages页面链接跳转失败问题
核心问题:路径格式错误
你使用的asp-page="Pages/Login"写法不符合Razor Pages标签助手的规则,标签助手会自动识别Pages目录作为页面根路径,不需要在路径中额外添加Pages/前缀。
修复步骤
修正链接代码
将原链接代码修改为:<li><a asp-page="Login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>如果Login页面位于
Pages的子目录(比如Pages/Account/Login.cshtml),则路径需写为asp-page="Account/Login"。确认页面文件完整性
检查Pages目录下是否存在Login.cshtml,以及对应的后端代码文件(Login.cshtml.cs,若有业务逻辑),确保文件名拼写完全一致(注意大小写,避免部署到Linux环境时出现问题)。验证路由配置
确认Program.cs中已正确启用Razor Pages路由:var builder = WebApplication.CreateBuilder(args); // 添加Razor Pages服务 builder.Services.AddRazorPages(); var app = builder.Build(); // 启用Razor Pages路由 app.MapRazorPages(); app.Run();清理缓存并重新编译
- 删除项目的
bin和obj目录,重新生成解决方案 - 使用浏览器无痕模式测试,避免旧缓存干扰
- 删除项目的
额外排查点
- 检查Login页面顶部是否有
@page指令,该标记是Razor Pages页面的必要标识,缺失会导致页面无法被路由识别 - 打开浏览器控制台查看网络请求状态,若返回404则说明路径仍存在问题
内容的提问来源于stack exchange,提问作者thorstore-ong
相关产品推荐
相关产品推荐

