验证表单时出错?

时间:2011-11-22 22:06:04

标签: asp.net-mvc asp.net-mvc-3

你好我正在尝试对我的表单进行验证,我得到了这个错误!!!

  

错误10类型或命名空间名称“DataAnnotations”不存在   在命名空间'System.ComponentModel'中(你是否缺少一个程序集   引用?)

我该如何解决?

我使用“using System.ComponentModel.DataAnnotations;”在其他模型和工作正常...

但我还有其他型号:

 public class CompuViewModel 
 {
    public List<Compu> PackageCompu { get; set; }
 }

 public class Compu
 {
    public int Id { get; set; }
    public string Name { get; set; } 
 }

我尝试将[Require]放在所有字段中,但会抛出错误!

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

您可以通过停止将错误消息视为“坏事”来解决此问题。一旦你这样做,你将能够阅读错误信息,并且也明白你看到的只是一件好事,而不是最终用户。

系统正试图在太晚之前帮助你注意它,即使在这个特定的错误中,它甚至会帮助你“你错过了一个程序集参考”,它甚至告诉你它正在寻找“DataAnnotations” “在”System.ComponentModel“中找不到它。现在,你需要帮助它。

所以

  1. 实际阅读错误消息
  2. 试着理解它的含义
  3. 尝试帮助您的计划解决问题
  4. 所以,它正在System.ComponentModel中寻找DataAnnotations,它猜测你缺少一个程序集引用。

    现在,添加一个程序集引用:

    1. 右键单击您的参考文件夹
    2. 添加正在寻找的程序集
    3. 完成

答案 1 :(得分:1)

添加System.ComponentModel.DataAnnotations作为项目的参考,然后重新编译应用程序。

你会发现它会在那之后发挥作用。

有关详细信息,请参阅此处:

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.validationattribute.aspx

  

命名空间: System.ComponentModel.DataAnnotations

     

汇编: System.ComponentModel.DataAnnotations(在 System.ComponentModel.DataAnnotations.dll 中)

相关问题