Cloudcrate.AspNetCore.Blazor.Browser.Storage 3.0.0

Blazor local and session storage support

Install-Package Cloudcrate.AspNetCore.Blazor.Browser.Storage -Version 3.0.0
dotnet add package Cloudcrate.AspNetCore.Blazor.Browser.Storage --version 3.0.0
<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.

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 &lt;body&gt;

<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

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 &lt;body&gt;

<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

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
3.0.0 1,656 9/27/2019
3.0.0-preview9.19424.4.2 186 9/5/2019
3.0.0-preview8.19405.7.1 165 8/20/2019
3.0.0-preview7.19365.7 210 7/24/2019
3.0.0-preview6.19307.4 249 6/15/2019
3.0.0-preview5-19227-02 293 5/7/2019
3.0.0-preview5-19227-01-02 98 5/7/2019
3.0.0-preview5-19227-01-01 125 5/7/2019
0.9.0-preview3-01 427 3/29/2019
0.9.0-preview3 118 3/26/2019
0.5.1 3,172 7/30/2018
0.5.0-preview3 211 7/23/2018
0.5.0-preview2 238 7/9/2018
0.5.0-preview1 233 7/8/2018
0.2.2 548 5/4/2018
0.2.1 254 5/3/2018
0.2.1-preview4 241 5/3/2018
0.2.1-preview3 235 5/3/2018
0.2.1-preview2 222 4/30/2018
0.2.1-preview1 228 4/30/2018