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

WinForms BlazorWebView导航功能失效问题求助

解决WinForms BlazorWebView导航失效问题

针对WinForms Blazor Hybrid应用中NavigationManager和页面链接无法跳转至新增页面的问题,可按以下步骤排查修复:

1. 确认App.razor的Router组件配置

确保App.razor中包含正确的Router组件,且指定了覆盖所有Razor页面的程序集:

<Router AppAssembly="@typeof(App).Assembly">
    <Found Context="routeData">
        <RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
        <FocusOnNavigate RouteData="@routeData" Selector="h1" />
    </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="@typeof(App).Assembly"要指向包含所有页面的当前项目程序集。

2. 检查新增页面的路由指令

确认Counter2.razor的@page指令格式正确,无拼写或空格错误:

@page "/Counter2"

<h1>Counter 2</h1>

<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;
    private void IncrementCount() => currentCount++;
}

路由模板"/Counter2"不能有前置/后置空格,否则会导致路由匹配失败。

3. 确保新增页面被项目正确包含

右键项目 → 编辑项目文件,确认Counter2.razor被添加为编译项:

<ItemGroup>
  <Compile Include="Pages\Counter2.razor" />
</ItemGroup>

如果没有该条目,手动添加;或右键Counter2.razor文件 → 属性,将“生成操作”设置为“编译”。

4. 验证导航代码的正确性

Counter.razor中的导航代码需确保调用逻辑正确:

@page "/counter"
@inject NavigationManager NavManager

<h1>Counter</h1>

<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
<button class="btn btn-secondary" @onclick="GoToCounter2">Go to Counter 2</button>
<a href="/Counter2" class="btn btn-link">Link to Counter 2</a>

@code {
    private int currentCount = 0;

    private void IncrementCount() => currentCount++;

    private void GoToCounter2() => NavManager.NavigateTo("/Counter2");
}

路由路径需与Counter2.razor的@page指令完全匹配(Blazor路由默认大小写不敏感,建议保持格式统一)。

5. 清理重建项目

缓存可能导致页面未更新,执行以下操作:

  • 清理解决方案:菜单栏 → 生成 → 清理解决方案
  • 删除项目根目录下的bin和obj文件夹
  • 重建解决方案:菜单栏 → 生成 → 重建解决方案
  • 重新运行应用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:37:36