kol*_*uri 48 razor asp.net-mvc-3
在我看来,我有以下元素
@Html.PasswordFor(model => model.Password)
Run Code Online (Sandbox Code Playgroud)
这是在创建/更新用户详细信息的屏幕上.当我尝试更新用户时,此字段保持空白.当我将此元素更改为TextBoxFor时,它获取数据.如何填写"密码"字段.
mat*_*mat 141
如上所述,出于安全原因,最好避免这样做.如果您仍希望保留密码以便从当前验证失败的地方继续,则可以使用带有html属性参数的HTML帮助程序:
Html.PasswordFor(x => x.Password, new { value = Model.Password})
Run Code Online (Sandbox Code Playgroud)
cwh*_*ris 39
这是设计的.密码未填写以防止意外重新提交,并防止页面包含未加密的密码.如果您要回发凭据,显然密码错误.
在您的情况下,您可以创建一个输入数据的扩展,或者只使用类型为password的HTML输入.
MVC保护您不会因此而做这样的事情.您实际上不应该这样做,因为用户密码不应以未加密和未加密的方式存储.如果您的目标是最终在http://plaintextoffenders.com/上结束,您可以执行以下操作:
<input type="password" name="Password" id="Password" value="@Model.Password" />
Run Code Online (Sandbox Code Playgroud)