12

Ich möchte einen Textbereich für eines der Felder in meinem Modell rendern.Rendern einer <textarea /> mit Datenanmerkungen

Ich habe versucht, [DataType(DataType.MultilineText)] auf mein Feld anwenden, aber das tut nicht den Trick.

Im Moment rende ich den Textbereich manuell, aber ich würde viel lieber Html.EditorFor verwenden. Irgendwelche Vorschläge?

+2

Sie sollten Veröffentlichen Sie den Code für die Eigenschaft mit der Datenannotation und den Code für die Ansicht, in der Sie 'Html.EditorFor' verwenden. – SOfanatic

Antwort

4

Warum nicht verwenden:

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

EditorFor Helfer ist eine Art von „smart“ Helfer und es stützt die Darstellung auf der Basis der zugrunde liegenden Typ der Immobilie. Wenn Sie es erzwingen möchten, um einen bestimmten HTML-Eingabetyp zu rendern, verwenden Sie andere Helfer.

+0

Oh ja, daran habe ich nie gedacht. Vielen Dank! – serlingpa

42

[DataType(DataType.MultilineText)] funktioniert nur, wenn Sie Html.EditorFor Helfer in Ihrer Ansicht verwenden:

Probe:

Modell

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

Ansicht

Html.EditorFor(m => m.Description) 
+3

Das funktioniert gut, wenn Sie faul sind, mein Favorit! – Codeman

+1

Ich denke, das ist eine bessere, wiederverwendbare Antwort. – niico

+1

Dies sollte die akzeptierte Antwort sein –