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,224 | 9/27/2019 |
3.0.0-preview9.19424.4.2 | 584 | 9/5/2019 |
3.0.0-preview8.19405.7.1 | 407 | 8/20/2019 |
3.0.0-preview7.19365.7 | 515 | 7/24/2019 |
3.0.0-preview6.19307.4 | 520 | 6/15/2019 |
3.0.0-preview5-19227-02 | 669 | 5/7/2019 |
3.0.0-preview5-19227-01-02 | 455 | 5/7/2019 |
3.0.0-preview5-19227-01-01 | 491 | 5/7/2019 |
0.9.0-preview3-01 | 812 | 3/29/2019 |
0.9.0-preview3 | 528 | 3/26/2019 |
0.5.1 | 4,033 | 7/30/2018 |
0.5.0-preview3 | 724 | 7/23/2018 |
0.5.0-preview2 | 839 | 7/9/2018 |
0.5.0-preview1 | 854 | 7/8/2018 |
0.2.2 | 1,604 | 5/4/2018 |
0.2.1 | 1,034 | 5/3/2018 |
0.2.1-preview4 | 869 | 5/3/2018 |
0.2.1-preview3 | 818 | 5/3/2018 |
0.2.1-preview2 | 884 | 4/30/2018 |
0.2.1-preview1 | 900 | 4/30/2018 |