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

ASP.NET访问子文件夹内index.cshtml报404错误如何解决?

解决方案
  • 第一步:确认服务注册与中间件配置
    打开你项目根目录的Program.cs文件,确保存在以下两行配置(.NET 6及以上版本),空白创建的项目默认不会添加这两行:
    // 服务注册部分,需写在var app = builder.Build();之前
    builder.Services.AddRazorPages();
    
    // 中间件配置部分,需写在app.Run();之前
    app.MapRazorPages();
    
  • 第二步:调整文件存放路径
    非MVC的ASP.NET Core Razor Pages模式默认会从项目根目录的Pages文件夹下读取可访问的页面文件,直接放在项目根目录的admin文件夹不会被识别,请按以下路径调整:
    1. 项目根目录下新建Pages文件夹(如果已经存在则跳过)
    2. 把你创建的admin文件夹整体移动到Pages文件夹内,最终文件路径应为 Pages/admin/index.cshtml
  • 第三步:检查页面指令
    打开index.cshtml文件,确认文件第一行是@page指令,这个指令是标识该文件为可路由访问的Razor页面的必要配置,缺失的话直接补上即可。

完成以上三步后重启项目,通过localhost:5000/admin或者localhost:5000/admin/index即可正常访问页面,不需要加.cshtml后缀。

如果你只是需要放置静态页面不需要用到Razor动态语法,可以直接把文件后缀改为.html,将admin文件夹放到项目根目录的wwwroot文件夹下,同时在Program.cs中添加app.UseStaticFiles();中间件,即可直接通过路径访问静态文件。

内容的提问来源于stack exchange,提问作者Yash Kejriwal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:06:01