Blazor WebAssembly中的相对路由



我是Blazor和c#的新手,我正试图找出如何使用相对路径导航。假设我有这样的结构:

Index:    /
Page2:    /pageTwo
Page3:    /pageThree
PageFour: /pageThree/pageFour

我想使用相对路径在这些页面之间导航。

我尝试使用NavigationManager:

进行导航我可以从索引到第二页,用NavigationManager.NavigateTo("pageTwo");

我想从第二页转到第三页,但是使用下列方法行不通:

  • NavigationManager.NavigateTo("../pageThree")
  • NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("../pageThree").AbsoluteUri)我试着
  • NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("~/../pageThree").AbsoluteUri)并且页面被正确访问,但是为什么要使用~呢?(寻找关于相对路径的答案,我发现人们在谈论~,我想试试)

我想从Page3转到Page4,但我的尝试都不起作用:

  • NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("./pageFour").AbsoluteUri)
  • NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("~/./pageFour").AbsoluteUri)
  • NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("~/pageFour").AbsoluteUri)
  • NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("pageFour").AbsoluteUri)
  • NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("/pageFour").AbsoluteUri)

我写了一个小程序显示我的测试在https://blazorfiddle.com/s/9lnhs40p

我认为你不需要使用。/pattern.

请在下面使用/as

NavigationManager.NavigateTo("/");
NavigationManager.NavigateTo("/pageTwo");
NavigationManager.NavigateTo("/pageThree");
NavigationManager.NavigateTo("/pageFour");
NavigationManager.NavigateTo("/login");
NavigationManager.NavigateTo("/logout");

相关内容

  • 没有找到相关文章

最新更新