我想编辑一个用户。 我发出相应的数据(用户名,电子邮件,等等......密码,确认通过) 问题是那些密码字段是空的。
我使用的是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>
答案 0 :(得分:0)
无法真正理解这个问题,但我假设您正在谈论用户何时尝试编辑其帐户信息:
只需将其设置为如果他们已登录,并且密码字段中没有任何值,则密码不会更新。
将密码发送给客户端肯定存在安全风险。
答案 1 :(得分:0)
您没有查看问题。我认为你的问题来自模型。如果您正在编辑用户,请不要向他们发送密码。在您的模型类/存储库中,如果没有来自视图的新密码,只需更新必要的字段,否则更新所有内容。
我认为你试图在一篇文章中包含太多功能。如果要更改密码,则可以使用不同的控制器。
您的答案
如果您以纯文本格式将密码发回给用户。不妨把它放在一个普通的TextBox中。这样,它将持续存在于视图中。
或强>
使用普通的Html:
<input type="password" id="Password" value="<%: m.Password" />
答案 2 :(得分:0)
只需设置它,如果没有输入密码,密码就不会被更改。
您可能必须从视图所使用的模型中的[Required]
和Password
属性中删除ConfirmPassword
属性才能完成此操作。该模型通常是Models/AccountModels.cs
答案 3 :(得分:0)
如果将<input>
的textmode设置为密码,则无法写入密码。密码文本框是只读的。
如果您看到预先填充的密码,那是因为浏览器记得它。