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,276 9/27/2019
3.0.0-preview9.19424.4.2 175 9/5/2019
3.0.0-preview8.19405.7.1 160 8/20/2019
3.0.0-preview7.19365.7 204 7/24/2019
3.0.0-preview6.19307.4 244 6/15/2019
3.0.0-preview5-19227-02 288 5/7/2019
3.0.0-preview5-19227-01-02 94 5/7/2019
3.0.0-preview5-19227-01-01 120 5/7/2019
0.9.0-preview3-01 424 3/29/2019
0.9.0-preview3 113 3/26/2019
0.5.1 3,132 7/30/2018
0.5.0-preview3 208 7/23/2018
0.5.0-preview2 234 7/9/2018
0.5.0-preview1 230 7/8/2018
0.2.2 535 5/4/2018
0.2.1 251 5/3/2018
0.2.1-preview4 239 5/3/2018
0.2.1-preview3 230 5/3/2018
0.2.1-preview2 217 4/30/2018
0.2.1-preview1 225 4/30/2018