ASP.NET Core Blazor WebAssembly - User Registration and Login Example & Tutorial
Documentation and demo available at https://jasonwatmore.com/post/2020/11/09/blazor-webassembly-user-registration-and-login-example-tutorial
ASP.NET Core Blazor WebAssembly - User Registration and Login Example
License: MIT License
ASP.NET Core Blazor WebAssembly - User Registration and Login Example & Tutorial
Documentation and demo available at https://jasonwatmore.com/post/2020/11/09/blazor-webassembly-user-registration-and-login-example-tutorial
I have changed the MainLayout.razor
to the following:
@inherits LayoutComponentBase
@using Services
@inject IAccountService AccountService
<div class="page">
<div class="sidebar">
<NavMenu />
</div>
<div class="main">
<div class="top-row px-4">
@if (AccountService.User != null)
{
<NavLink href="users/selfedit" class="nav-item nav-link">@AccountService.User.Username</NavLink>
<NavLink href="account/logout" class="nav-item nav-link">Logout</NavLink>
}
else
{
<NavLink href="account/login" class="nav-item nav-link">Login</NavLink>
}
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
</div>
<div class="content px-4">
<div class="float-right">
<Alert />
</div>
@Body
</div>
</div>
</div>
Until adding the line:
<NavLink href="users/selfedit" class="nav-item nav-link">@AccountService.User.Username</NavLink>
... the logout process works well.
The error seems to originate from class LocalStorageService
. The error goes:
An exception of type 'System.InvalidOperationException' occurred in System.Private.CoreLib.dll but was not handled in user code: 'JavaScript interop calls cannot be issued at this time. This is because the component is being statically rendered. When prerendering is enabled, JavaScript interop calls can only be performed during the OnAfterRenderAsync lifecycle method.
But I do not quite comprehend that error.
I have considered changing LocalStorageService
to singleton, but the JSRuntime
is a scoped service that should have been a singleton instead.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.