首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.Net MVC3 Html.PasswordFor未填充

问ASP.Net MVC3 Html.PasswordFor未填充
EN

Stack Overflow用户
提问于 2011-04-13 07:37:10
回答 6查看 48.1K关注 0票数 53

在我看来,我有以下元素

代码语言:javascript
复制
  @Html.PasswordFor(model => model.Password)

这是在创建/更新用户详细信息的屏幕上。当我尝试更新用户时,此字段保持为空。当我将此元素更改为TextBoxFor时,它将获取数据。如何填写密码字段。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-04-13 07:41:02

这是设计好的。不填写密码是为了防止意外重新提交,并防止页面包含未加密的密码。显然,如果您要回发凭据,一开始密码就是错误的。

在您的示例中,您可以创建一个确实输入数据的扩展,或者只使用password类型的HTML输入。

票数 39
EN

Stack Overflow用户

发布于 2011-07-07 10:54:38

如上所述,出于安全原因,最好避免这样做。如果您仍然希望保留密码,以便从当前验证失败的位置继续操作,则可以使用带有HTML属性参数的html帮助器:

代码语言:javascript
复制
     Html.PasswordFor(x => x.Password, new { value = Model.Password})
票数 154
EN

Stack Overflow用户

发布于 2011-04-13 08:01:17

MVC保护你不做这样的事情是有原因的。您实际上不应该这样做,因为用户密码不应该以未加密和未散列的方式存储。如果你的目标是最终在http://plaintextoffenders.com/上结束,你可以这样做:

代码语言:javascript
复制
<input type="password" name="Password" id="Password" value="@Model.Password" />
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5642849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档