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

Blazor应用中Razor页面TimeTrackInputTime出现HTTP 404错误求助

排查Blazor Razor页面HTTP 404问题(TimeTrackInputTime.cshtml)

针对你遇到的TimeTrackInputTime.cshtml页面无法访问的问题,可按以下步骤逐一排查:

  • 确认文件位置与路由匹配
    确保该页面文件和其他正常访问的页面(InputTimeForUser.cshtml、UserMaintenance.cshtml)处于同一目录(默认是Pages)。如果页面在子目录中,路由需要包含目录路径,比如放在Pages/TimeTrack下时,路由应写为@page "/TimeTrack/TimeTrackInputTime"。

  • 核对页面模型与命名空间
    检查TimeTrackInputTimeModel的命名空间是否为FP_Timetrack_Core.Pages,且类为public访问修饰符。如果存在代码隐藏文件(TimeTrackInputTime.cshtml.cs),确保类继承自PageModel,且类名与页面文件名一致(比如public class TimeTrackInputTimeModel : PageModel)。

  • 检查项目文件配置
    右键TimeTrackInputTime.cshtml文件→属性,确认生成操作为Content。也可以直接打开项目的.csproj文件,查看是否包含以下配置:

    <Content Include="Pages\TimeTrackInputTime.cshtml" />
    

    如果是<None Include...>或被标记为Exclude,会导致页面不被编译加载。

  • 清理重建项目,清除缓存
    执行以下操作解决缓存导致的路由未更新问题:

    1. 运行命令:dotnet clean
    2. 手动删除项目根目录下的bin和obj文件夹
    3. 运行命令:dotnet build
    4. 重启开发服务器
  • 验证路由注册与无冲突
    确认Program.cs中已正确注册Razor Pages服务和端点:

    builder.Services.AddRazorPages();
    // ...
    app.MapRazorPages();
    

    同时检查是否存在路由冲突:其他页面、API控制器或端点是否使用了/TimeTrackInputTime路由。可在Program.cs中添加日志输出所有路由,启动后查看控制台:

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
        var routes = endpoints.DataSources.SelectMany(s => s.Endpoints).OfType<RouteEndpoint>();
        foreach (var route in routes)
        {
            Console.WriteLine($"已注册路由: {route.RoutePattern.RawText}");
        }
    });
    
  • 检查URL大小写一致性
    虽然Windows系统不区分路径大小写,但部分服务器(如Linux)会严格区分。确保页面的@page "/TimeTrackInputTime"路由与导航链接中的/TimeTrackInputTime大小写完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:47:16