在 ASP.NET Core 中保存元件狀態標記協助程式

保存元件狀態標記協助程式可儲存在 Razor Pages 或 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 Core Razor 元件

若要保存預先轉譯元件的狀態,請使用保存元件狀態標記協助程式 (參考來源)。 在預先轉譯元件的應用程式中 _Host 頁面的結尾 </body> 標記內,新增標記協助程式的標記 <persist-component-state />

注意

.NET 參考來源的文件連結通常會載入存放庫的預設分支,這表示下一版 .NET 的目前開發。 若要選取特定版本的標籤,請使用 [切換分支或標籤] 下拉式清單。 如需詳細資訊,請參閱如何選取 ASP.NET Core 原始程式碼 (dotnet/AspNetCore.Docs #26205) 的版本標籤

在 Blazor 應用程式的 Pages/_Host.cshtml 中,而這些應用程式在裝載的 Blazor WebAssembly 應用程式中為 WebAssembly 預先轉譯 (WebAssemblyPrerendered) 或在 Blazor Server 應用程式中為 ServerPrerendered

<body>
    ...

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

使用 PersistentComponentState 服務決定要保存哪個狀態。 PersistentComponentState.RegisterOnPersisting 會註冊回呼,以在應用程式暫停前保存元件狀態。 應用程式繼續時會擷取此狀態。

如需詳細資訊和範例,請參閱預先轉譯和整合 ASP.NET Core Razor 元件

其他資源