文章

Blazor 未登录跳转Debug时NavigationManager报错修复

MainLayout里面设置未登录时跳转到/loginNavigationManager会在Debug模式下抛出如下错误

"Microsoft.AspNetCore.Components.NavigationException: Exception of type 'Microsoft.AspNetCore.Components.NavigationException' was thrown.
   at Microsoft.AspNetCore.Components.Server.Circuits.RemoteNavigationManager.NavigateToCore(String uri, Boolean forceLoad)
   at Microsoft.AspNetCore.Components.NavigationManager.NavigateTo(String uri, Boolean forceLoad)

解决方案

OnInitialized换成OnInitializedAsync

protected override async Task OnInitializedAsync()
{
    var returnUrl = "~/" + NavigationManager.ToBaseRelativePath(NavigationManager.Uri);
    NavigationManager.NavigateTo($"/login?returnUrl={returnUrl}", true);
}

License:  CC BY 4.0