Поле ввода в приложении сервера Blazor не является обязательным при нажатии кнопки - PullRequest
1 голос
/ 04 марта 2020

Я сталкиваюсь со странным поведением в моем приложении, когда я отлаживаю его на своем P C, работает хорошо, когда я публикую sh его на Azure, ввод пароля не является обязательным, когда я нажимаю 'Login' кнопка. Чтобы связать это, я должен щелкнуть где-нибудь еще, затем нажать кнопку «Войти». Вот мой код:

<AuthorizeView>
<Authorized>
    <b>Hello, @context.User.Identity.Name!</b>
    <a class="ml-md-auto btn btn-primary"
       href="/logout?returnUrl=/"
       target="_top">Logout</a>
</Authorized>
<NotAuthorized>
    <input type="text"
           placeholder="User Name"
           @bind="@Username" />
    &nbsp;&nbsp;
    <input type="password"
           placeholder="Password"
           @bind="@Password" />
    <a class="ml-md-auto btn btn-primary"
       href="/login?paramUsername=@encode(@Username)&paramPassword=@encode(@Password)"
       target="_top">Login</a>
@code {
     string Username = "";
     string Password = "";
     private string encode(string param)
     {
         return HttpUtility.UrlEncode(param);
     }
}

1 Ответ

2 голосов
/ 04 марта 2020

Это происходит потому, что значение устанавливается только при фокусировке вне ввода, поэтому следует использовать подход, который обновляет значение при каждом нажатии клавиши.

<input 
    type="password"
    placeholder="Password"
    @bind="@Password" 
    @bind:event="oninput" // update value on every key press
/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...