У меня есть форма аутентификации с функцией OnPostAsync()
, и я хочу добавить сообщение об ошибке, когда аутентификация не удалась, но я не могу получить сообщение на своей странице.
Я использую и задаю переменную, когда получаю ответ от API, но передний код обновляться не будет.
Login.cshtml.cs
public string errorMessage { get; set; }
public async void OnPostAsync()
{
if (!ModelState.IsValid)
{
return;
}
var resp = await _loginService.Connection(user);
if (resp == null)
{
Console.WriteLine("resp null");
errorMessage = "Incorrect username or password";
return;
}
_cookieService.Set("token", resp);
}
Login.cshtml
<div class="classbody">
<form class="form-signin" method="post">
<h1 class="h3 mb-3 font-weight-normal">Connexion</h1>
<label for="username" class="sr-only">Username</label>
<input type="text" id="username" class="form-control" placeholder="Username" asp-for="user.Username" required autofocus>
<label for="inputPassword" class="sr-only">Password</label>
<input type="password" id="inputPassword" class="form-control" placeholder="Password" asp-for="user.Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">Connexion</button>
<p class="mt-5 mb-3 text-muted">© 2017-2018</p>
@if (@Model.errorMessage != null)
{
<div class="alert alert-danger" role="alert">
@Model.errorMessage
</div>
}
</form>
</div>
errorMessage = "Incorrect username or password";
не работает после ожидания, если я поставлю строку в начале функции (OnPostAsync
), она работает хорошо, но она мне нужна после ответа API.