我是 Blazor 和 C# 新手,我正在尝试弄清楚如何使用相对路径进行导航。 假设我有这样的结构:
Index: /
Page2: /pageTwo
Page3: /pageThree
PageFour: /pageThree/pageFour
我想使用相对路径在这些页面之间导航。
我尝试使用 NavigationManager 进行导航:
从索引我可以使用
NavigationManager.NavigateTo("pageTwo");
转到第二页
从第 2 页我想转到第 3 页,但使用以下方法不起作用:
NavigationManager.NavigateTo("../pageThree")
NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("../pageThree").AbsoluteUri)
我试过了NavigationManager.NavigateTo(NavigationManager.ToAbsoluteUri("~/../pageThree").AbsoluteUri)
并且页面访问正确,但为什么使用〜? (在寻找有关相对路径的答案时,我发现人们在谈论〜并且我想尝试一下)从第 3 页我想转到第 4 页,但我的尝试都不起作用:
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
显示我的测试我认为你不需要使用./模式。
只需使用 / 如下
NavigationManager.NavigateTo("./");
NavigationManager.NavigateTo("./pageTwo");
NavigationManager.NavigateTo("./pageThree");
NavigationManager.NavigateTo("./pageFour");
NavigationManager.NavigateTo("./login");
NavigationManager.NavigateTo("./logout");
的屏幕截图
注意:@wiseguy 输入后回答更新。