我一直在使用mvc2一段时间,当我需要设置模板时,我使用DataType属性
[DataType("DropDown")] public int Field { get; set; }
我看到其他人使用UiHint来获得相同的结果
[UiHint("DropDown")] public int Field { get; set; }
使用这两个属性有什么区别?我应该正常使用哪个属性,还是用于不同的任务?
答案 0 :(得分:23)
DataType通常用于使其知道这是属性的非常特定的版本,例如价格。
DataType最常见的例子是[DataType(DataTypes.EmailAddress)]
,它通常是一个字符串,但我们说这是一种非常特殊的字符串。
它们都有用,UIHint 覆盖 DataType。因此,如果您有某个DataType但想要覆盖该特定属性的编辑器,则可以使用UIHint。
答案 1 :(得分:2)
DataType属性有两个目的
UIHint的目的与上面的第二点完全相同。 哪里用什么?答案是:上下文,即,更有意义的是什么,更接近您的代码试图解决的物理问题。 如果两者都适用于同一财产怎么办?答案是:UIHint显然具有优先权。但是你为什么要同时申请?