如何在MVC ViewRazor中屏蔽密码

时间:2017-04-12 18:57:01

标签: c# asp.net-mvc asp.net-mvc-4 asp.net-mvc-3 razor

我需要在MVC项目中屏蔽密码,我有用户列表。

型号:

.card-group {
    flex-direction: column;
}

我在View中有这个代码,我现在看到了密码。

 [Required]
        [StringLength(50)]
        [DataType(DataType.Password)]
        [DisplayName("Password")]
        public string Password { get; set; }

如何在View中屏蔽密码?

修改

如果我尝试使用 @ Html.PasswordFor(modelItem => item.Password),我会看到:

Image1

3 个答案:

答案 0 :(得分:5)

如果我理解你正在尝试做什么,我建议采用完全不同的方法。实际上,没有理由显示与密码中字符数相对应的正确点数。这样做是一个安全漏洞;它告诉攻击者他们只需要尝试给定长度的密码。事实上,您不应该以明文存储密码,因此您不应该知道有多少字符

所有这一切,我建议使用

@Html.Raw("\u2022\u2022\u2022\u2022\u2022")

字符串“\ u2022”指的是黑点的unicode字符,所以这只会在行上显示5个黑点

答案 1 :(得分:1)

@Html.PasswordFor(modelItem => item.Password)

试试这个

答案 2 :(得分:0)

要创建适用于模型类中数据类型属性的完整表格,可以使用以下语句:

@Html.EditorForModel()

此方法为模型类的每个属性生成代码,等效于以下内容:

@Html.LabelFor(model => model.Name)
@Html.TextBoxFor(model => model.Name)