【问题标题】:How to send information from previous page to current page in Blazor?如何在 Blazor 中将信息从上一页发送到当前页?
【发布时间】:2021-09-28 15:49:04
【问题描述】:

我需要一个有 3 页的流程。

我需要将用户提交的信息从第 1 页发送到第 2 页,然后到第 3 页。

我看到https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/routing?view=aspnetcore-5.0#route-parameters-1

意思是,如果我想发短信foo,很简单。但我需要将许多内容从上一页发送到当前页:

Treasury Secretary Janet Yellen is testifying with Fed Chairman Jerome Powell before lawmakers after Senate Republicans blocked a bill that would both fund the government and lift the borrowing limit.

Mr. John Doe

08:30 09/30/2021 Washington

如何存档?

【问题讨论】:

标签: .net asp.net-core blazor blazor-server-side


【解决方案1】:

有几种方法可以实现这一点,具体取决于您希望如何实现它以及项目的结构。

  1. 如果这些其他页面实际上是一个页面的组件,则使用cascading parameters 这将起作用。

  2. 使用浏览器存储 localsession 存储 - 本地是“永久的”,直到手动删除,会话仅用于当前会话。可能需要您不断地从服务器向浏览器发送数据,以便在下一页接收该数据。

  3. AppState(Youtube 视频)方法 - 基本上每个会话的每个客户端都会在 MainLayout 中有一个对象,该对象作为级联参数传递到所有页面。在该对象中,您可以存储您需要保留的任何信息。这将是每个会话,并且取决于数据量可能会导致内存和性能问题。

Microsoft's docs on Blazor state management 了解有关会话/本地存储的更多详细信息以及另一种方式(依赖注入)。

【讨论】:

    【解决方案2】:

    注入IMemoryCache 的实例。使用缓存中的键保存您想要保存的任何信息。 或者,您可以将相同的模式用于您选择的任何其他存储库。

    https://docs.microsoft.com/en-us/aspnet/core/blazor/state-management?view=aspnetcore-5.0&pivots=server#in-memory-state-container-service-server

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多