我有MVC5应用程序,在创建视图中我有用户名和密码字段。
我将值放在用户和密码字段中,当我进入编辑模式时,我只在文本框中看到用户值
并且密码字段为空,为什么?
当我调试代码时,我看到在编辑结束时(返回View(UserPass);)我得到了带有值的对象,而不是调用视图(razor)而我看不到该值传递文本框......
知道用户存在的原因和密码不是吗? 我只是想在编辑模式中使用星号字段 ...
在编辑和创建视图中,我使用:
<div class="form-group">
@Html.LabelFor(model => model.Password, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.PasswordFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
</div>
</div>
答案 0 :(得分:4)
答案 1 :(得分:3)
使用此:
@Html.PasswordFor(model => model.Password,new{@Value=Model.Password})
请注意Value:v
应为大写
答案 2 :(得分:1)
将密码值渲染到html源中是一个巨大的安全风险。它可以防止您泄露密码。否则,有人可以查看页面源并查看:
<input type="password" value="password123" />
我建议您执行以下操作:
@Html.PasswordFor(model => model.Password, new { placeholder = "********" })
这会产生一些视觉效果。文本框中的星号将在用户开始输入实际值时消失。它并不是所有浏览器都支持,而是它的东西。