我在 Blazor .NET Core 8 中配置本地存储时遇到一些问题。更新项目后,我发现由于页面现在是在服务器上创建的,因此无法访问浏览器的本地存储。
我尝试过使用 Blazored Local Storage、JavaScript 和 ProtectedSessionStorage,但似乎都没有效果。此外,我尝试通过以下方式将页面配置为不预渲染:
@rendermode @(new InteractiveServerRenderMode(prerender:false))
我经常使用本地存储来从网站更新购物车商店。
有什么想法吗?
问候, 贾尔
您可以在 blazor 服务器渲染模式中使用
ProtectedLocalStorage
,只需在每个页面/组件项目中尝试以下操作:
@page "/"
@rendermode @(new InteractiveServerRenderMode(false))
@using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage
@inject ProtectedLocalStorage ProtectedLocalStore
@value
@code {
int value;
protected override async Task OnInitializedAsync()
{
await ProtectedLocalStore.SetAsync("count", 7); //set value to localstorage
var result = await ProtectedLocalStore.GetAsync<int>("count"); //get value to localstorage
value = result.Value;
}
}