Как сделать так, чтобы поле пароля не сбрасывалось? - PullRequest
0 голосов
/ 26 октября 2010

Я хочу отредактировать пользователя. Я отправляю соответствующие данные (имя пользователя, адрес электронной почты и т. Д., Пароль, подтверждение) Проблема в том, что эти поля пароля пусты.

  1. В: Когда я отображаю данные в форме два поля пароля пусты. Как я могу заставить их содержать данные? Спасибо.

Я использую asp.net-mvc 2

                    <div class="editor-label">
                        <%: Html.LabelFor(m => m.Password) %>
                    </div>
                    <div class="editor-field">
                        <%: Html.PasswordFor(m => m.Password)%>
                        <%: Html.ValidationMessageFor(m => m.Password)%>
                    </div>

Ответы [ 4 ]

0 голосов
/ 26 октября 2010

Если вы установили для текстового режима <input> пароль, вы не сможете писать в него. Текстовые поля пароля доступны только для чтения.

Если вы видите предварительно заполненный пароль, то это потому, что браузер запомнил его.

0 голосов
/ 26 октября 2010

У вас нет проблем с просмотром. Я думаю, что ваша проблема исходит от модели. Если вы редактируете пользователя, не отправляйте ему пароль. В классе / репозитории вашей модели просто обновите необходимые поля, если из представления не приходит новый пароль, иначе обновите все.

Я думаю, вы пытаетесь упаковать слишком много функциональности в 1 пост. Если вы хотите изменить пароль, у вас есть другой контроллер для этого.

Ваш ответ

Если вы отправляете пароль пользователю в виде обычного текста. Можно также поместить его в простой текстовый ящик. Таким образом, он будет сохранен в представлении.

Или

Использовать обычный HTML:

<input type="password" id="Password" value="<%: m.Password" />
0 голосов
/ 26 октября 2010

Просто установите его так, чтобы, если пароль не введен, пароль не изменился.

Возможно, вам придется удалить атрибут [Required] из свойств Password и ConfirmPassword вмодель, которую использует ваш взгляд для достижения этой цели.Модель обычно будет классом в Models/AccountModels.cs

0 голосов
/ 26 октября 2010

Не могу действительно понять вопрос, но я предполагаю, что вы говорите, когда пользователь пытается изменить данные своей учетной записи:

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

Конечно, существуют угрозы безопасности при отправке пароля клиенту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...