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

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

先决条件

按照集成 ASP.NET Core Razor 组件到 ASP.NET Core 应用文章的页面或视图部分中的“使用不可路由组件”部分中的指导进行操作。

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

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

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

注意

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

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

<body>
    ...

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

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

有关详细信息和示例,请参阅预呈现 ASP.NET CoreRazor 组件

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

注意

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

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

<body>
    ...

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

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

有关详细信息和示例,请参阅预呈现和集成 ASP.NET Core Razor 组件

其他资源