Monday, April 1, 2013

How to use TextArea for @Html.EditorFor in ASP.NET MVC?

Two ways:
1. Add data annotation in Model class
[DataType(DataType.MultilineText)]
public string Text { get; set; }

2. @Html.TextAreaFor(model => model.Text)

How to change EditFor width in ASP.NET MVC 3?

Should be very simple? But need to two steps to do so:
1. Replace EditFor with TextBoxFor
2. Pass html property into TextBoxFor

@Html.TextBoxFor(m => m.Name, new {style = "width:50px"})

How to add data annotations to a class without changing it?

By MetadataType class
- Inherent from it, make it to be base class
- Then use metadata class to add validation data annotations in subclass
[MetadataType(typeof(ModelMetadata))]
public class Model : Base_Class {
}


internal class ModelMetadata {
    [Required]
    public string Name { get; set; }
}