如何在 MVC View Razor 中屏蔽密码

How to mask Password in MVC ViewRazor

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

型号:

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

我在视图中有这段代码,我现在可以在其中看到密码。

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

如何在视图中屏蔽密码?

编辑:

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

Image1

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

试试这个

如果我正确理解您要执行的操作,我推荐一种完全不同的方法。确实,没有理由根据密码中的字符数显示正确的点数。这样做是一个安全漏洞;它告诉攻击者他们只需要尝试给定长度的密码。事实上,您不应该一开始就以明文形式存储密码,所以您不应该知道有多少个字符

综上所述,我建议使用

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

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

要创建适合模型中数据类型属性的完整表单 class 您可以使用以下语句:

@Html.EditorForModel()

此方法正在为模型 class 的每个 属性 生成代码,相当于以下内容:

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