我正在使用EntityFramework和.NET Core中的MVC,遇到了一个我不确定如何处理的问题。我有一个带有undefined
字段的用户模型。我希望编辑用户模型,但我不希望Password
字段显示在与其他用户字段相同的编辑视图中。隐藏密码很简单,但现在模型在保存编辑时总是无法验证。
我只是在视图中隐藏了密码字段,但是在页面源上显示了密码。我还尝试创建Password
模型,但这会创建大量的翻译代码,而这些代码对我想要达到的目标来说并不是必需的。
非常感谢任何帮助。以下是我一直在使用的代码。
型号: User.cs
UserEditView
编辑操作: UsersController.cs
public class User
{
[Display(Name="User ID")]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
[Required()]
[Display(Name="Email Address")]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required()]
public string Name { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required()]
public string Salt { get; set; }
}
答案 0 :(得分:0)
在您的控制器中,您可以执行以下操作:
ModelState.Remove("Password");
将阻止该字段被验证。
然而,这不是一个非常干净的解决方案。如果您未在当前视图中使用该字段,则应考虑将该字段移动到另一个模型。