Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

How can I access the browsers localStorage in Blazor?

$
0
0

I want to support JWTs, so I need to keep the token around; is there some facility to access this? Or should we just be registering our own javascript function to access this functionality for now?

Edit: per advice, I attempted to use JS interop as :

<script>    localStorage.setItem("key1", "key1data");    Blazor.registerFunction("readStorage", (key) => {        return localStorage.getItem(key);    });</script>@if (jwtKey == null){<div class="login-panel"><p>JWT not loaded</p></div>}else{<div class="login-panel"><p>@jwtKey</p></div>}@functions {    public RenderFragment Body { get; set; }    string jwtKey;    protected override async Task OnInitAsync()    {        jwtKey = RegisteredFunction.Invoke<string>("readStorage", "key1");        if (jwtKey == null)        {            jwtKey = "Unknown";        }    }}

But this results in a WASM error in diag:

WASM: [Microsoft.AspNetCore.Blazor.Browser.Interop.JavaScriptException] Could not find registered function with name 'readStorage'. WASM: Error: Could not find registered function with name 'readStorage'.

FYI, this is in the MainLayout.cshtml of the Blazor VS boilerplate project.

(can make a new Question if appropriate; somewhat related to this one though)


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>