我是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");