Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ';。。。数据类型';不包含';电子邮件';_Asp.net Mvc - Fatal编程技术网

Asp.net mvc ';。。。数据类型';不包含';电子邮件';

Asp.net mvc ';。。。数据类型';不包含';电子邮件';,asp.net-mvc,Asp.net Mvc,我使用的是Identity,IdentityUsers属性如下所示: 问题是我在AspNetUsers表中有“Email”和“PasswordHash”,但是出现了错误“System.ComponentModel.DataAnnotations.DataType”不包含“Email”和“PasswordHash”的定义。 如果我用“Datatype.Email”代替“Datatype.EmailAddress”,用“Datatype.PasswordHash”代替“DataTtype.Passw

我使用的是Identity,IdentityUsers属性如下所示: 问题是我在AspNetUsers表中有“Email”和“PasswordHash”,但是出现了错误
“System.ComponentModel.DataAnnotations.DataType”不包含“Email”和“PasswordHash”的定义。
如果我用“Datatype.Email”代替“Datatype.EmailAddress”,用“Datatype.PasswordHash”代替“DataTtype.Password”


错误是准确地告诉您需要什么。数据类型是只允许特定值的枚举。在MVC世界中,这些反过来用于验证,以确保您在字段中有一个有效的电子邮件地址,不管它被调用什么

[DataType(DataType.Email)] // Not Valid
[DataType(DataType.EmailAddress)] // Valid
[DataType(DataType.PasswordHash)] // Not Valid
[DataType(DataType.Password)] // Valid
有关有效值的完整列表,请参阅Intellisense或此URL:

好的!但是IdentityUser和DataType属性之间有什么区别呢?我正在使用Identity创建一个帐户,但您是说我应该使用这些属性(而不是IdentityUser属性)。这些属性用于您的ViewModel的UI验证,而IdentityUser是保存到DB的DataModel对象。IdentityUser.Email是数据库中的属性/DbField,而DataType.Email是在UI中验证该字段的方式。相同和不同的名称。我不懂逻辑。好吧,答案是可以接受的。
[DataType(DataType.Email)] // Not Valid
[DataType(DataType.EmailAddress)] // Valid
[DataType(DataType.PasswordHash)] // Not Valid
[DataType(DataType.Password)] // Valid