Код: Выделить всё
Severity Code Description Project File Line Suppression State
Error (active) RZ9991 The attribute names could not be inferred from bind attribute 'bind-Value'. Bind attributes should be of the form 'bind' or 'bind-value' along with their corresponding optional parameters like 'bind-value:event', 'bind:format' etc.
Код: Выделить всё
`
@page "/login"
@layout BTDMiddleware___Frontend.Components.Layout.LoginLayout
@inject BTDMiddleware___Frontend.Components.AuthService AuthService
@inject NavigationManager Navigation
@inject HttpClient HttpClient
@using BTDMiddleware___Frontend.Components.Modals
@using BTDMiddleware___Frontend.Components.Model
/* Styling code omitted for brevity */
Welcome Page
Sign in to continue access
Server URI: @serverUri
HttpClient Base Address: @httpClientBaseAddress
Sign In
[url=#]Sign In with Azure[/url]
OR
Username:
Password:
Continue
Or Sign Up Using
[url=/signup]SIGN UP[/url]
@code {
private LoginModel loginModel = new LoginModel();
private bool showErrorModal = false;
private string errorMessage = string.Empty;
private string serverUri;
private string httpClientBaseAddress;
protected override void OnInitialized()
{
serverUri = Navigation.BaseUri;
httpClientBaseAddress = HttpClient.BaseAddress?.ToString() ?? "No base address set";
Console.WriteLine($"Server URI: {serverUri}");
Console.WriteLine($"HttpClient Base Address: {httpClientBaseAddress}");
}
private async Task HandleLogin()
{
Console.WriteLine("HandleLogin method called");
Console.WriteLine($"Attempting login with Username: {loginModel.Username}, Password: {loginModel.Password}");
Console.WriteLine($"Server URI: {serverUri}");
Console.WriteLine($"HttpClient Base Address: {httpClientBaseAddress}");
try
{
var response = await AuthService.Login(loginModel);
Console.WriteLine($"Login request sent. Status Code: {response.StatusCode}");
if (response.IsSuccessStatusCode)
{
if (await AuthService.IsAuthenticated())
{
Navigation.NavigateTo("/");
}
else
{
errorMessage = "Invalid username or password.";
showErrorModal = true;
}
}
else
{
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine($"Login request failed. Status Code: {response.StatusCode}, Reason: {content}");
errorMessage = "An error occurred during login. Please try again.";
showErrorModal = true;
}
}
catch (Exception ex)
{
Console.WriteLine($"Exception occurred during login: {ex.Message}");
errorMessage = "An error occurred during login. Please try again.";
showErrorModal = true;
}
}
private async Task OnShowChanged(bool value)
{
showErrorModal = value;
await Task.CompletedTask;
}
}
`
Дополнительная информация:
- Я Я использую Blazor Server.
- Форма входа отображается правильно и не показывает никаких ошибок проверки.
- Метод HandleLogin запускается, как и ожидалось, когда форма отправлена.
- Буду очень признателен за любую помощь!
**Что я пробовал:
**
- Удалена привязка loginModel к полям ввода.
- Введены локальные переменные имя пользователя и пароль для хранения входных значений.
< li>Обновлен метод HandleLogin для создания и заполнения объекта loginModel этими локальными переменными во время отправки формы.
* *Я ожидал, что форма будет принимать введенные пользователем имя пользователя и пароль, сохранять эти значения в локальных переменных, а затем использовать эти значения для создания объекта loginModel во время отправки формы. Этот объект будет использоваться для отправки запроса на вход на сервер.
**Фактический результат:
**Форма успешно приняла и сохранила входные значения в локальных переменных. Во время отправки формы модель входа в систему была правильно создана и заполнена этими значениями, а запрос на вход был отправлен, как и ожидалось, без каких-либо проблем с привязкой.
Подробнее здесь: https://stackoverflow.com/questions/788 ... be-created
Мобильная версия