Blazor WebAssembly 路由搞乱了 NavLink
Blazor WebAssembly route messes up NavLink
我有一个包含两个页面的纯 WebAssembly Blazor 应用程序,PageA 和 PageB。
在 PageA 我有一个 link <a href="PageB/Item1">Go to Item1</a>
在 PageB 我有这个:
@page "/PageB"
@page "/PageB/{itemname}"
点击 link 将我重定向到 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
的新根目录
您需要在每条路线的前面添加斜杠,例如:
@page "/PageB"
@page "/PageA"
然后进入你的 _Host.cshtml 如果你的应用程序在服务器端或者 index.html 如果应用程序是 WASM 并添加或修改存在的基本 href;
<base href="/mysite/">
我有一个包含两个页面的纯 WebAssembly Blazor 应用程序,PageA 和 PageB。
在 PageA 我有一个 link <a href="PageB/Item1">Go to Item1</a>
在 PageB 我有这个:
@page "/PageB"
@page "/PageB/{itemname}"
点击 link 将我重定向到 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
的新根目录您需要在每条路线的前面添加斜杠,例如:
@page "/PageB"
@page "/PageA"
然后进入你的 _Host.cshtml 如果你的应用程序在服务器端或者 index.html 如果应用程序是 WASM 并添加或修改存在的基本 href;
<base href="/mysite/">