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

Blazor Net8中@page "/Test"路由无法匹配页面的问题

Blazor .NET 8 路由404问题排查方案
  • 确认TestPage文件已被项目包含
    右键项目选择「显示所有文件」,检查TestPage.razor是否为灰色状态(未被纳入项目)。如果是,右键该文件选择「包括在项目中」。你之前添加的<Folder Include="Features\Home\"/>仅针对Home目录,若TestPage不在此目录下,需添加对应目录的Include配置,比如TestPage在Features/Test目录时,添加<Folder Include="Features\Test\"/>到.csproj中。

  • 检查TestPage的命名空间与Router扫描范围
    确保TestPage的命名空间正确(比如放在Features/Test目录时,命名空间应为你的项目名.Features.Test)。默认情况下,Blazor Router会扫描当前程序集(@typeof(App).Assembly)下的所有组件,若Router配置中未修改AdditionalAssemblies,只要组件在当前项目且命名空间正确,就能被扫描到。

  • 验证Router组件配置
    打开App.razor,确认Router配置完整且正确,示例如下:

    <Router AppAssembly="@typeof(App).Assembly">
        <Found Context="routeData">
            <RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
        </Found>
        <NotFound>
            <PageTitle>Not found</PageTitle>
            <LayoutView Layout="@typeof(MainLayout)">
                <p role="alert">Sorry, there's nothing at this address.</p>
            </LayoutView>
        </NotFound>
    </Router>
    

    重点确认AppAssembly指向正确,且RouteView能正常渲染匹配的组件。

  • 检查@page指令的正确性
    确认TestPage.razor顶部的@page "/Test"无拼写错误,路由路径与手动访问的URL完全一致(Blazor路由默认大小写不敏感,但建议保持一致避免意外)。同时排查是否有其他组件使用了相同的路由路径,路由冲突也会导致404。

  • 清理重建项目
    缓存可能导致组件未被正确编译,执行以下步骤:右键项目→「清理」,然后点击「生成」→「重建解决方案」,最后重新运行应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:26:00