![]() |
1
21
您需要的是页面历史状态管理器: 对于以下示例,我使用的是DateTimeWasm,但您也可以在DateTimeServer中使用此示例。 在客户端应用程序中,我添加了此类: 页面历史状态:
然后将此类作为单例添加到服务中:
将其注入您的页面:
在我的标记中,我检查是否可以返回页面:
我已经覆盖了
我在“获取数据”页面中做了同样的事情,我可以在不需要JSInterop的情况下返回。 |
![]() |
2
15
我最终提出了一个稍微改进的解决方案,它封装了NavigationManager,将所有内容保存在一个地方,不依赖于Pages或其他东西。它还将历史缓冲区大小保持在合理的范围内。 导航cs
然后,您可以将此类作为单例服务添加到依赖注入中并初始化。 程序cs
之后,您可以使用Inject指令/属性在任何地方使用它。 SomePage.cshtml
SomeService.cs
|
![]() |
3
15
使用Javascript怎么样?
|
![]() |
4
10
我修改了迪奥戈上面的答案,我觉得这是一个更优雅的解决方案。
首先,创建一个
这是您的每个页面将继承的内容。它处理注射
现在,在给定的页面中,您继承自
在我的示例组件中(为简洁起见而去掉),它向页面历史堆栈中添加了一个新元素,除了继承自
|
![]() |
5
0
这是一个扩展 Diogo's answer .
正确执行
|
![]() |
6
0
导航类
|
![]() |
7
0
我创建了自己的类,并将其注册为服务。我没有使用客户端注册页面更改,而是使用了MainLayout,因此不需要JS。 我将服务注入到需要后退按钮的页面中 我还将其添加到MainLayout中
公共类页面访问服务 { 列表_页面访问历史=新列表();
|