gpt4 book ai didi

asp.net-core - 从 razor 组件到 razor 页面的 aspnetcore blazor 导航

转载 作者:行者123 更新时间:2023-12-05 05:06:09 26 4
gpt4 key购买 nike

我正在尝试从 razor 组件重定向到 razor 页面。如果用户未获得授权,我想从当前的 Razor 组件重定向到登录 Razor 页面。

我已经重定向到登录组件

public class RedirectToLogin : ComponentBase
{
[Inject]
protected NavigationManager NavigationManager { get; set; }

protected override void OnInitialized()
{
NavigationManager.NavigateTo("./Identity/Account/Login",true);
}
}

此行抛出错误 NavigationManager.NavigateTo("./Identity/Account/Login");

Microsoft.AspNetCore.Components.NavigationException:“引发了‘Microsoft.AspNetCore.Components.NavigationException’类型的异常。”

我的假设是问题出在从 Razor 组件到 Razor 页面的路由。

最佳答案

我使用下面的 Router 重定向到一个未授权的页面。

<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
<NotAuthorized>
<div class="container">
<h1>Sorry</h1>
<p>You're not authorized to reach this page.</p>
<p>You may need to log in as a different user.</p>
<a href="Identity/Account/Login">Log in</a>
</div>
@*<RedirectToLogin />*@
</NotAuthorized>
<Authorizing>
<div class="container">
<h1>Authentication in progress</h1>
<p>Leave your hands on the keyboard, scanning your fingerprints. Ain't technology grand.</p>
</div>
</Authorizing>
</AuthorizeRouteView>
</Found>
<NotFound>
<CascadingAuthenticationState>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</CascadingAuthenticationState>
</NotFound>
</Router>

这对现在的应用来说已经足够了。

关于asp.net-core - 从 razor 组件到 razor 页面的 aspnetcore blazor 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60103674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com