当前位置: 代码迷 >> ASP.NET >> model,该怎么处理
  详细解决方案

model,该怎么处理

热度:7635   发布时间:2013-02-25 00:00:00.0
model
这是model里边的内容,Required 我知道是 必须填的字段,如果不填,就会报错。  
[Display(Name = "账号")] 是什么用呢?


C# code
    public class LogOnModel    {        [Required]        [Display(Name = "账号")]        public string UserName { get; set; }        [Required]        [DataType(DataType.Password)]        [Display(Name = "密码")]        public string Password { get; set; }        [Display(Name = "登录信息")]        public bool RememberMe { get; set; }    }




------解决方案--------------------------------------------------------
[]这种写法叫Attribute,供反射调用的时候查询。

写在Arrtibute中的类型必须从Attribute类继承,显然DataType.Password应该是个枚举,所以不行。

具体这些Attribute能做什么,取决于调用它的类,比如Model.xxxFor方法,它会去读取Model中对象的Attribute,并且产生对应的html和js代码。ASP.NET MVC是开放源代码的,如果有兴趣,你可以用attribute类名作为条件在代码中搜索。
------解决方案--------------------------------------------------------
反射可以获得任意类型附加的attribute,这里指你的模型类。
------解决方案--------------------------------------------------------
更像是给类或者类的成员贴的“标签”。这个标签是给动态加载或者调用它们的调用者准备的,让它们更好地理解这个对象或者字段的含义、用途。

和C/C++不同,C#或者说.NET中的对象或者函数,都是自描述的,也就是说,程序中包含了对程序自身的描述信息。你甚至不需要文档,就可以得知一个库有什么功能,这是C/C++做不到的。
  相关解决方案