Я использую Blazor для своего веб-проекта. Я изучаю этот фреймворк, но у меня проблема. Если я хочу go другую страницу, я могу сделать это:
<a href="DetailsPage" class="btn btn-primary">Details</a>
Теперь я создаю страницу входа (моя индексная страница и URL-адрес https://5000) и проверяю информация о пользователе. Я не могу авторизоваться. Если эта информация верна, пользователь переходит на домашнюю страницу, в противном случае пользователь остается на странице входа. Но когда я пробую правдивую информацию и нажимаю кнопку входа в систему, я go перехожу на домашнюю страницу (https://5000/homepage) и снова возвращаю страницу входа (https://5000/?). Когда я возвращаюсь на страницу входа, мой URL-адрес будет «https://5000/?». Почему я возвращаю свою страницу входа и вижу «?».
@page "/"
@using MyProject.Data
@using System.Net.Http
@inject HttpClient Http
@inject IMatToaster Toaster
@inject NavigationManager NavigationManager
<form>
<div class="form-group">
<label for="UserName">User Name</label>
<input type="text" class="form-control" placeholder="User Name" @bind="@UserName">
</div>
<div class="form-group">
<label for="UserPassword">User Password</label>
<input type="password" class="form-control" placeholder="User Password" @bind="@UserPassword">
</div>
<button type="submit" class="btn btn-primary" @onclick="@Login">Log In</button>
</form>
@code {
private User[] UserList;
private User[] Control;
public string UserName, UserPassword;
protected override async Task OnInitializedAsync()
{
await getData();
}
protected async Task getData()
{
UserList = await Http.GetJsonAsync<User[]>("/api/Users/");
}
protected void Login()
{
if (String.IsNullOrEmpty(UserName) || String.IsNullOrEmpty(UserPassword))
{
}
else
{
Control = UserList.Where(A => A.UserName.Equals(UserName, StringComparison.OrdinalIgnoreCase) && A.UserPassword == UserPassword).ToArray();
if (Control.Length == 0)
{
}
else
{
NavigationManager.NavigateTo("/homepage");
}
}
}
}