Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rendering a <textarea /> using data annotations

I'd like to render a text area for one of the fields in my model.

I've tried applying [DataType(DataType.MultilineText)] to my field, but this doesn't do the trick.

At the moment, I am rendering the text area manually but I'd much prefer to use Html.EditorFor. Any suggestions?

like image 470
serlingpa Avatar asked May 16 '13 20:05

serlingpa


2 Answers

[DataType(DataType.MultilineText)] only works if you use Html.EditorFor helper in your view:

Sample:

Model

[DataType(DataType.MultilineText)]
public string Description { get; set; }

View

Html.EditorFor(m => m.Description)
like image 78
Leniel Maccaferri Avatar answered Oct 18 '22 21:10

Leniel Maccaferri


Why not use:

 @Html.TextAreaFor(model => model.YourProperty)

EditorFor helper is sort of "smart" helper and it's basing the rendering based on the underlying type of the property. If you want to enforce it to render a specific html input type then use other helpers.

like image 5
Marko Avatar answered Oct 18 '22 21:10

Marko