Blazor Server 8 的本地存储

问题描述 投票:0回答:1

我在 Blazor .NET Core 8 中配置本地存储时遇到一些问题。更新项目后,我发现由于页面现在是在服务器上创建的,因此无法访问浏览器的本地存储。

我尝试过使用 Blazored Local Storage、JavaScript 和 ProtectedSessionStorage,但似乎都没有效果。此外,我尝试通过以下方式将页面配置为不预渲染:

@rendermode @(new InteractiveServerRenderMode(prerender:false))

我经常使用本地存储来从网站更新购物车商店。

有什么想法吗?

问候, 贾尔

asp.net-core blazor local-storage asp.net-core-8
1个回答
0
投票

您可以在 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;
    }
}

测试结果:

© www.soinside.com 2019 - 2024. All rights reserved.