2011-07-01 11 views
46

です:私はフィールドがあることを伝えるにはどうすればよいASP.NET MVC:Html.EditorForと複数行のテキストボックスこれは私のコード

<div class="editor-label"> 
     <label for="Comments_0__Comment">Comment</label> 
    </div> 
    <div class="editor-field"> 
     <input class="text-box single-line" data-val="true" data-val-required="The Comment field is required." id="Comments_0__Comment" name="Comments[0].Comment" type="text" value="" /> 
     <span class="field-validation-valid" data-valmsg-for="Comments[0].Comment" data-valmsg-replace="true"></span> 
    </div> 

<div class="editor-label"> 
     @Html.LabelFor(model => model.Comments[0].Comment) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Comments[0].Comment) 
     @Html.ValidationMessageFor(model => model.Comments[0].Comment) 
    </div> 

これは、それが生成するものです単一行のテキストボックスの代わりに5行のテキストボックスにする必要がありますか?

+0

[ASP.NET MVC3 - textarea with @ Html.EditorFor](http://stackoverflow.com/questions/4927003/asp-net-mvc3-textarea-with-html-editorfor) –

答えて

29

を参照してください:

@Html.EditorFor(model => model.Comments[0].Comment) 

だけ使用します。

@Html.TextAreaFor(model => model.Comments[0].Comment, 5, 1, null) 
+4

このアプローチについて私が気に入っていることは、別のアセンブリのプロパティにすべて移動する必要はないということです。私のモデルクラスのプロパティ(確かにビューモデルはもっと使用する必要がありますが、アプリケーションなど..)さらに、選択された回答は、別のページまたはアプリケーションがテキストを複数行にしたくない場合の問題です。 IMOこれはいくつかのアプリケーションには最適ですが、他は他のアプリケーションには最適です。私にとっては、@ Html.TextAreaFor(model => model.Comments、5、1、new {@class = "form-control"})です。 –

9

別の方法

@Html.TextAreaFor(model => model.Comments[0].Comment) 

そして、あなたのCSSでのデータ型のdealieは、誰もがそれらを好きではない、データ内のキャリッジリターンを可能にするこの

textarea 
{ 
    font-family: inherit; 
    width: 650px; 
    height: 65px; 
} 

を行います。

関連する問題