views:

54

answers:

1

I have been using mvc2 for a while now, and when i need to set the template i use the DataType Attribute

    [DataType("DropDown")]
    public int Field { get; set; }

I see others using UiHint to achieve the same results

    [UiHint("DropDown")]
    public int Field { get; set; }

What is the difference between using these two attributes? Which attribute should I be normally using, or are they for different tasks?

+1  A: 

DataType is generally used to make it known that this is a very specific version of a property, such as price.

The most common example of DataType is the [DataType(DataTypes.EmailAddress)] which usually is a string but we're saying that this is a very specific type of string.

They're both helpful and the UIHint overrides the DataType. So if you have a certain DataType but you want to override the editor for that specific property you can use a UIHint.

BuildStarted