12

私のモデルのフィールドの1つにテキスト領域をレンダリングしたいとします。データアノテーションを使用してをレンダリングする

[DataType(DataType.MultilineText)]を自分のフィールドに適用しようとしましたが、これはそのトリックを行いません。

現在のところ、私は手動でテキスト領域をレンダリングしていますが、私はHtml.EditorForを使用したいと思っています。助言がありますか?

+2

あなたがすべきデータアノテーションを持つプロパティのコードと、 'Html.EditorFor'を使っているビューのコードを投稿してください。 – SOfanatic

答えて

4

なぜ使用しない:

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

EditorForヘルパーは、「スマート」ヘルパーの一種であり、プロパティの基になる型に基づいてレンダリングを基づかています。特定のHTML入力タイプをレンダリングするようにしたい場合は、他のヘルパーを使用してください。

+0

ああ、それは決して考えられませんでした。ありがとう! – serlingpa

42

[DataType(DataType.MultilineText)]あなたのビューでHtml.EditorForヘルパーを使用している場合にのみ機能します。

サンプル:

モデル

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

ビュー

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

これは、あなたが怠け者であるときにはうまくいく、私のお気に入り! – Codeman

+1

これはより良い、より再利用可能な答えだと思います。 – niico

+1

これは受け入れられる回答である必要があります –

関連する問題