【问题标题】:Blazor WebAssembly route messes up NavLinkBlazor WebAssembly 路由弄乱了 NavLink
【发布时间】:2021-10-25 21:55:27
【问题描述】:

我有一个纯 WebAssembly Blazor 应用,有两个页面,PageA 和 PageB。

在PageA我有一个链接<a href="PageB/Item1">Go to Item1</a>

在 PageB 我有这个:

@page "/PageB"
@page "/PageB/{itemname}"

点击链接将我重定向到http://localhost/MySite/PageB/Item1 就好了。 现在,当我单击导航栏返回 PageA 时,整个应用程序会重新加载或路由错误。

1.) 当我的 NavLink 中有这个时,整个应用程序会重新加载: <NavLink href="/PageA">PageA</NavLink>

2.) 省略 / 时,URL 错误 (/PageB/PageA): <NavLink href="PageA">PageA</NavLink>

我真的不知道为什么单击 NavLink 时整个应用程序会重新加载。只有当我的 URL 包含路由参数时才会发生这种情况。只需单击 NavLink 即可导航完全正常。而在另一种情况下 就像 /PageB 已成为我的 NavMenu 的新根

【问题讨论】:

    标签: blazor blazor-webassembly


    【解决方案1】:

    您需要在每条路线的前面添加斜线,例如:

    @page "/PageB"
    @page "/PageA"
    

    如果您的应用程序在服务器端,则进入您的 _Host.cshtml;如果应用程序是 WASM,则进入 index.html,并添加或修改存在的基本 href 之类的;

    <base href="/mysite/">
    

    【讨论】:

    • 它可以工作,起初没有工作,但是缺少基础(代码一开始没有重新编译)。谢谢:)
    猜你喜欢
    • 2018-12-30
    • 2014-05-04
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 2020-01-16
    相关资源
    最近更新 更多