在 ASP.NET Core 中保存元件狀態標記協助程式
保存元件狀態標記協助程式可儲存在 Razor Pages 或 MVC 應用程式的頁面或檢視中轉譯的不可路由傳送之 Razor 元件的狀態。
必要條件
請遵循整合 ASP.NET Core Razor 元件與 MVC 或 Razor Pages 一文中的<在頁面或檢視中使用不可路由的元件>一節中的指引。
請遵循以下任一項的 [設定] 區段中的指引:
保存預先轉譯元件的狀態
若要保存預先轉譯元件的狀態,請使用保存元件狀態標記協助程式 (參考來源)。 在預先轉譯元件的應用程式中版面配置的結尾 </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 元件與 MVC 或 Razor Pages。