2011-07-01 65 views
46

Đây là mã của tôi:ASP.NET MVC: Html.EditorFor và nhiều dòng hộp văn bản

<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> 

Đây là những gì nó tạo ra:

<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> 

Làm thế nào để nói với nó rằng lĩnh vực này nên là một hộp văn bản với năm dòng thay vì chỉ một hộp văn bản một dòng?

+0

bản sao có thể có của [ASP.NET MVC3 - textarea với @ Html.EditorFor] (http://stackoverflow.com/questions/4927003/asp-net-mvc3-textarea-with-html-editorfor) –

Trả lời

29

theo quan điểm của bạn, thay vì:

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

chỉ cần sử dụng:

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

Điều tốt đẹp mà tôi thích về cách tiếp cận này là tôi không cần phải đi tất cả các cách vào các thuộc tính của mình trong một assembly khác .. mô hình các thuộc tính mô hình của tôi (các viewmodels phải được sử dụng nhiều hơn, nhưng nó phụ thuộc vào tình huống ứng dụng, v.v.) Thêm câu trả lời đã chọn, vấn đề với đó là điều gì sẽ xảy ra nếu một trang hoặc ứng dụng khác muốn văn bản không được nhiều dòng. IMO điều này là rất tốt cho một số applicaitons trong khi khác là tốt cho những người khác. Đối với tôi, đó là @ Html.TextAreaFor (model => model.Comments, 5, 1, new {@class = "form-control"}) thx –

9

Một cách khác

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

Và trong css của bạn làm điều này

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

Đó DataType dealie cho phép tự xuống dòng trong dữ liệu, không phải ai cũng thích những người.

Các vấn đề liên quan