2012-01-09 19 views
9

Xin chào mọi người Tôi đã làm việc này trong 5 ngày và không thể tìm ra giải pháp đang cố gắng thực hiện điều này trên nhiều dòng @Html.TextBoxFor(model => model.Headline, new { style = "width: 400px; Height: 200px;"}) nhưng tôi không có may mắn.TextBoxFor Mulitline

Sau đây là những gì tôi đã cố gắng:

@Html.TextBoxFor.Multiline (does not work) 

Tôi đã đưa Multiline vào cuối mới và điều đó đã không làm việc. Cách đơn giản nhất để làm điều này là gì.

cảm ơn Tôi đang sử dụng MVC3 C#

+0

có thể trùng lặp: http://stackoverflow.com/questions/6740890/mvc3-razor-html-textboxfor-can-i-make-it-multi-line-like-textareafor – rene

+1

Điều đó phức tạp, đối với những gì tôi muốn Đó là lý do tại sao tôi đã nói "Cách đơn giản nhất để làm điều này" là gì? – user1137472

Trả lời

46

Bạn có thể sử dụng một helper TextAreaFor:

@Html.TextAreaFor(
    model => model.Headline, 
    new { style = "width: 400px; height: 200px;" } 
) 

nhưng một giải pháp tốt hơn là để trang trí bất động sản mô hình Headline nhìn của bạn với các thuộc tính [DataType] quy định cụ thể mà bạn muốn nó để hiển thị dưới dạng <textarea>:

public class MyViewModel 
{ 
    [DataType(DataType.MultilineText)] 
    public string Headline { get; set; } 

    ... 
} 

và sau đó sử dụng EditorFor helper:

<div class="headline"> 
    @Html.EditorFor(model => model.Headline) 
</div> 

và cuối cùng trong file CSS của bạn xác định phong cách của mình:

div.headline { 
    width: 400px; 
    height: 200px; 
} 

Bây giờ bạn có một sự tách biệt thích các mối quan tâm.

+2

Textarea sẽ là thứ bạn muốn cho một trường biểu mẫu nhiều dòng. Việc thay đổi kích thước là điều xảy ra với các trình duyệt khác nhau, cả Firefox và Chrome sẽ cho phép điều đó xảy ra khi IE không hoạt động. – Chris

+0

@Darin Cảm ơn Darin vì đã giải thích điều phút này, Trước đây tôi không thích sử dụng '[Datatype (DataType.MultilineText)]' Chú thích cho textarea Cảm ơn. – user1006544

+2

Tôi biết đây là một bài đăng cũ, nhưng đó là kết quả tìm kiếm hàng đầu cho "dao cạo multiline textboxfor" và tôi chỉ muốn thêm rằng bộ chọn CSS sai và phải là 'div.headline textarea' – Jocie

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