Подтвердить что ты не робот

ASP.Net MVC3 Html.PasswordFor не заполняет

На мой взгляд, у меня есть следующий элемент

  @Html.PasswordFor(model => model.Password)

Это на экране, который создает/обновляет детали пользователя. Когда я пытаюсь обновить пользователя, это поле остается пустым. Когда я изменяю этот элемент на TextBoxFor, он получает данные. Как я могу заполнить поле "Пароль".

4b9b3361

Ответ 1

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

В вашем случае вы можете создать расширение, которое вводит данные, или просто использовать HTML-ввод пароля типа.

Ответ 2

Как описано выше, лучше избегать этого по соображениям безопасности. если вы все еще хотите сохранить пароль, чтобы перейти от текущей проверки, вы можете использовать HTML-помощник с атрибутом атрибута html:

     Html.PasswordFor(x => x.Password, new { value = Model.Password})

Ответ 3

MVC защищает вас от необходимости делать что-то подобное по какой-то причине. На самом деле вы не сможете этого сделать, потому что пароль пользователя не должен храниться незашифрованным и незашифрованным. Если ваша цель - закончить на http://plaintextoffenders.com/, вы можете сделать что-то вроде:

<input type="password" name="Password" id="Password" value="@Model.Password" />

Ответ 4

Я нашел это описание. Мне нужен мой пароль, показанный в форме:

@model User
@{
    @Html.Label(Model.Username, new { @class = "label" })
    @Html.TextBoxFor(Model => Model.Username, new { @class = "form-control" })

    @Html.Label(Model.Password, new { @class = "label" })
    @Html.TextBoxFor(Model => Model.Password, new { @class = "form-control make-pass" })
}

<script type="text/javascript">
    $(".make-pass").attr("type", "password");
</script>

Это приведет к типу ввода пароля без потери значения.