c# - 登录后导航回到主页面
问题描述
我正在使用 Blazor 构建服务器端应用程序。我没有使用任何 javascript、react 和其他框架。我正在使用 Blazor 默认模板。当我转到登录页面并输入正确的凭据时,我想导航到主页。我正在使用以下代码来做到这一点:
public void LoginCommand()
{
var authenticationStatProvider = new TaskClientAuthenticationStateProvider();
if (this.Username == "Lyubo" && this.Password == "123")
{
TaskClientAuthenticationStateProvider.IsAuthenticated = true;
authenticationStatProvider.NotifyAuthenticationStateChanged();
NavigationManager.NavigateTo($"/home/{this.Username}");
}
}
如果这很重要,我已将视图与两个文件中的逻辑分开,并且我的 LoginPageBase 继承了 ComponentBase。执行上面的代码后,我看到它导航回 home。
@page "/home"
@page "/home/{userName}"
@inherits LayoutComponentBase
<div class="sidebar ">
<NavMenu />
</div>
<div class="main">
<div class="top-row px-4">
<NavLink class="nav-link" href="loginpage">
<span class="oi oi-plus" aria-hidden="true"></span> Login
</NavLink>
</div>
<div class="content px-4">
@Body
</div>
</div>
@code{
[CascadingParameter]
public Task<AuthenticationState> AuthenticationStateTask { get; set; }
[Parameter]
public string userName { get; set; }
}
似乎我在以某种方式复制(因为我不只是导航到@Body,而是整个主页)主页,我不知道如何纠正这种行为?如何从另一个页面将我的视图放在@Body 中?谢谢 :)
解决方案
推荐阅读
- c++ - 如何在 C++ 中禁用 CodeSonar 警告
- javascript - 使用 mongoosastic 搜索多个集合
- javascript - Vue.js 中的 class 和 staticClass 有什么区别吗?
- java - 通过使用 Selenium 和 Java,无法单击 Flipkart 主页中图像滑块中的图像之一
- c++ - 为什么下限不适用于成对的向量
- math - 单纯形噪声幻数解释
- kotlin - 使用 `to` 创建 `Pair` 是否可以接受?
- javascript - html中的简单任务javascript按钮
- angular - PrimeNg 默认选择菜单的子项
- laravel - 使用护照的 Laravel api 身份验证不起作用