Cloudcrate.AspNetCore.Blazor.Browser.Storage
3.0.0
dotnet add package Cloudcrate.AspNetCore.Blazor.Browser.Storage --version 3.0.0
NuGet\Install-Package Cloudcrate.AspNetCore.Blazor.Browser.Storage -Version 3.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cloudcrate.AspNetCore.Blazor.Browser.Storage" Version="3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cloudcrate.AspNetCore.Blazor.Browser.Storage --version 3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Cloudcrate.AspNetCore.Blazor.Browser.Storage, 3.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Cloudcrate.AspNetCore.Blazor.Browser.Storage as a Cake Addin #addin nuget:?package=Cloudcrate.AspNetCore.Blazor.Browser.Storage&version=3.0.0 // Install Cloudcrate.AspNetCore.Blazor.Browser.Storage as a Cake Tool #tool nuget:?package=Cloudcrate.AspNetCore.Blazor.Browser.Storage&version=3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Blazor Local and Session Storage Support
Installation
PM> Install-Package Cloudcrate.AspNetCore.Blazor.Browser.Storage
See it in Action
Check out Steve Sanderson's demo at NDC Minnesota, at minute 48
Usage
Add Services to Dependency Injection
services.AddStorage();
Add Javascript file to your index.html
or _Host.cshtml
page in <body>
<app>@(await Html.RenderComponentAsync<App>())</app>
<script src="_framework/blazor.server.js"></script>
<script src="_content/Cloudcrate.AspNetCore.Blazor.Browser.Storage/Storage.js"></script>
Client-Side
Inject and use Storage
@using Cloudcrate.AspNetCore.Blazor.Browser.Storage;
@inject LocalStorage Storage
<input type="text" @bind="value" />
<button @onclick="SetValue">Set</button>
<button @onclick="GetValue">Get</button>
@code
{
string value;
void SetValue()
{
Storage.SetItem("storageKey", value);
}
void GetValue()
{
value = Storage.GetItem("storageKey");
}
}
Server-Side
Inject and use Storage
@using Cloudcrate.AspNetCore.Blazor.Browser.Storage;
@inject LocalStorage Storage
<input type="text" @bind="value" />
<button @onclick="SetValue">Set</button>
<button @onclick="GetValue">Get</button>
@code
{
string value;
Task SetValue()
{
await Storage.SetItemAsync("storageKey", value);
}
Task GetValue()
{
value = await Storage.GetItemAsync("storageKey");
}
}
Events
Using storage
native event: StorageEvent
protected override void OnInit()
{
Storage.StorageChanged += HandleStorageChanged;
}
void HandleStorageChanged(object sender, StorageEventArgs e)
{
Console.WriteLine($"Value for key {e.Key} changed from {e.OldValue} to {e.NewValue}");
}
public void Dispose()
{
Storage.StorageChanged -= HandleStorageChanged;
}
Contributors
- StorageEvent implementation by @peterblazejewicz
- Server-side support by @konradbartecki
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.AspNetCore.Components (>= 3.0.0)
- Microsoft.AspNetCore.Components.Web (>= 3.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Cloudcrate.AspNetCore.Blazor.Browser.Storage:
Package | Downloads |
---|---|
WLWebApp.RazorClassLibrary2
Razor Components shared between WL Desktop and Online |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.0.0 | 40,293 | 9/27/2019 |
3.0.0-preview9.19424.4.2 | 587 | 9/5/2019 |
3.0.0-preview8.19405.7.1 | 408 | 8/20/2019 |
3.0.0-preview7.19365.7 | 516 | 7/24/2019 |
3.0.0-preview6.19307.4 | 521 | 6/15/2019 |
3.0.0-preview5-19227-02 | 670 | 5/7/2019 |
3.0.0-preview5-19227-01-02 | 456 | 5/7/2019 |
3.0.0-preview5-19227-01-01 | 492 | 5/7/2019 |
0.9.0-preview3-01 | 813 | 3/29/2019 |
0.9.0-preview3 | 529 | 3/26/2019 |
0.5.1 | 4,034 | 7/30/2018 |
0.5.0-preview3 | 725 | 7/23/2018 |
0.5.0-preview2 | 840 | 7/9/2018 |
0.5.0-preview1 | 855 | 7/8/2018 |
0.2.2 | 1,605 | 5/4/2018 |
0.2.1 | 1,035 | 5/3/2018 |
0.2.1-preview4 | 870 | 5/3/2018 |
0.2.1-preview3 | 819 | 5/3/2018 |
0.2.1-preview2 | 885 | 4/30/2018 |
0.2.1-preview1 | 901 | 4/30/2018 |