이전 시간에는 Local Storage 를 알아봤습니다.
2024.04.23 - [코딩/Blazor] - C# Blazor LocalStorage 사용하기
이번에는 웹페이지에 접속할때만 사용되는 Session 데이터를 처리하는 방법입니다.
Session 데이터는 웹페이지를 벗어나면 데이터가 사라집니다.
using Blazored.SessionStorage;
builder.Services.AddBlazoredSessionStorage();
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
를 선언하고 아래 처럼 사용하면 저장됩니다.
await sessionStorage.SetItemAsync("key", sessionStorageKey);
Index.razor
@page "/"
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
<PageTitle>Index</PageTitle>
<h1>Sessoin Storage Key</h1>
<input type="text" value="@sessionStorageKey" @onchange="ChangedAsync" />
@code {
private string sessionStorageKey { get; set; }
protected override async Task OnInitializedAsync()
{
sessionStorageKey = await sessionStorage.GetItemAsync<string>("key");
}
private async void ChangedAsync(ChangeEventArgs args)
{
sessionStorageKey = args.Value.ToString();
await sessionStorage.SetItemAsync("key", sessionStorageKey);
}
}
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
아래 처럼 사용하여 저장된 데이터를 가져옵니다.
sessionStorageKey = await sessionStorage.GetItemAsync<string>("key");
Counter.razor
@page "/counter"
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Session Storage Key: @sessionStorageKey</p>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
private string sessionStorageKey = string.Empty;
protected override async Task OnInitializedAsync()
{
sessionStorageKey = await sessionStorage.GetItemAsync<string>("key");
}
private void IncrementCount()
{
currentCount++;
}
}
C# Blazor LiquidTechnologies ModalDialog 에서 Back Button 클릭 시 Popup 닫기 (0) | 2024.05.15 |
---|---|
C# Blazor 더블 클릭 방지하기 (0) | 2024.04.23 |
C# Blazor Local Storage 사용하기 (0) | 2024.04.23 |
C# Blazor Toast Message 표시하기 (0) | 2024.04.22 |
C# Blazor LifeCycle 확인 (0) | 2024.04.22 |