ASP.NET Core 中的持久化组件状态标记帮助程序

持久组件状态标记帮助程序保存 Razor 页面或 MVC 应用的页面或视图中呈现的非可路由 Razor 组件的状态。

先决条件

按照集成 ASP.NET 核心组件与 MVC 或 Razor PagesRazor部分中的“使用不可路由组件”部分中的指导进行操作。

按照以下内容的“配置”部分中的指南操作:

持久保存预呈现组件的状态

要保留预呈现组件的状态,请使用“保留组件状态”标记帮助程序参考源)。 在预呈现组件的应用的布局的结束 <persist-component-state /> 标记内添加标记帮助程序的标记 </body>

注意

指向 .NET 参考源的文档链接通常会加载存储库的默认分支,该分支表示针对下一个 .NET 版本的当前开发。 若要为特定版本选择标记,请使用“切换分支或标记”下拉列表。 有关详细信息,请参阅如何选择 ASP.NET Core 源代码的版本标记 (dotnet/AspNetCore.Docs #26205)

对于 WebAssembly 预呈现(Pages/Shared/_Layout.cshtml)或服务器预呈现(WebAssemblyPrerendered)的嵌入式组件,在 ServerPrerendered 中:

<body>
    ...

    <persist-component-state />
</body>

决定要使用 PersistentComponentState 服务保留的状态。 PersistentComponentState.RegisterOnPersisting 注册回调以在暂停应用之前保留组件状态。 在应用程序恢复时检索状态。

有关详细信息和示例,请参阅 ASP.NET 核心 Blazor 预呈现状态持久性

要保留预呈现组件的状态,请使用“保留组件状态”标记帮助程序参考源)。 在预呈现组件的应用的 <persist-component-state /> 页面的结束 </body> 标记内添加标记帮助程序的标记 _Host

注意

指向 .NET 参考源的文档链接通常会加载存储库的默认分支,该分支表示针对下一个 .NET 版本的当前开发。 若要为特定版本选择标记,请使用“切换分支或标记”下拉列表。 有关详细信息,请参阅如何选择 ASP.NET Core 源代码的版本标记 (dotnet/AspNetCore.Docs #26205)

Pages/_Host.cshtml 应用(托管 Blazor 应用中预呈现的 WebAssembly (WebAssemblyPrerendered),或 Blazor WebAssembly 应用中的 ServerPrerendered)的 Blazor Server 中:

<body>
    ...

    <persist-component-state />
</body>

决定要使用 PersistentComponentState 服务保留的状态。 PersistentComponentState.RegisterOnPersisting 注册回调以在暂停应用之前保留组件状态。 在应用程序恢复时检索状态。

有关详细信息和示例,请参阅 将 ASP.NET Core Razor 组件与 MVC 或 Razor Pages 集成。

其他资源