Как предотвратить ввод пароля после очистки?

Если у вас есть страница с <asp:TextBox TextMode="Password" ... />.
Как вы можете сохранить значение после обратной передачи?

Это моя проблема:
На экране регистрации моего приложения вам нужно ввести пароль. Затем вы нажимаете "Отправить", происходит обратная передача и поля пароля очищаются, как я могу предотвратить очистку поля пароля?

Ответы

Ответ 1

Вам нужно снова установить его в page_load или в событии с нажатием кнопки:

 string Password = txtPassword.Text;
txtPassword.Attributes.Add("value", Password);

Ответ 2

Вам нужно вернуть пароль в текстовое поле для обратной передачи.

txtBox.Attributes["value"] = txtBox.Text;

Ответ 3

Лучший способ

не устанавливайте тип ввода на странице aspx, установить тип ввода в Pageload в секции! postback

txtPassword.Attributes["type"] = "password";

Ответ 4

<input type="password" /> обрабатывается иначе, чем другие элементы управления формы, поскольку хранит конфиденциальную информацию, которая является паролем пользователя. На стороне сервера для каждой обратной передачи текстовое поле пароля полностью очищается по этой причине, если вам действительно нужно сохранить значение в текстовом поле пароля, установите его явно, как это упоминали другие. Но я действительно не рекомендую это делать, поскольку это не очень хорошая практика.

Ответ 5

Я понимаю, что это старый пост, но, надеюсь, это поможет кому-то другому. У меня была такая же проблема на экране настройки пользователя, при котором я продолжал потерять ввод пароля во время различных обратных передач. Решение, которое я выбрал, состояло в том, чтобы поместить часть экрана ввода, которая была отправлена ​​обратно в панель обновления. Это решило проблему сбрасывания пароля и не представляло угрозы безопасности.

Надеюсь, это поможет!

Ответ 6

Использование Jquery для сохранения пароля после обратной передачи или отправки

$(function () {
$('.txtPassword').val("<%=txtPassword.Value%>");
});