2011-11-14 21 views
6

Tôi có ứng dụng web C# .Net MVC3 và chúng tôi sử dụng HTML.TextAreaFor() vùng văn bản để chỉnh sửa và hiển thị. Trong một trường hợp, nó sẽ được edittable và trong một nó shuold được hiển thị chỉ. Làm thế nào tôi sẽ thực hiện được điều này? Có yếu tố nào khác mà tôi nên sử dụng hoặc tôi có thể làm cho TextAreaFor bị vô hiệu hóa không? Ngoài ra, TextAreaFor cần phải quấn từ trong màn hình hiển thị chế độ chỉ cũng ... đó là trong một tế bào lướiTắt HTML.TextAreaFor trong MVC3

Trả lời

20

Chỉ cần sử dụng htmlAttributes tham số:

@Html.TextAreaFor(model => model.Something, new { @readonly = true }) 

Để dọn dẹp các if/else tại của bạn Xem, sử dụng một phương pháp mở rộng mà không kiểm tra và làm cho hộp văn bản khác nhau.

Không chắc chắn những gì bạn có nghĩa là khoảng từ gói - từ hiểu biết của tôi <textarea> yếu tố luôn quấn, trừ khi bạn sử dụng wrap="off"

+0

@RPM .... hoàn hảo. Tôi biết nó phải giống như thế. Cảm ơn! – MikeTWebb

1

Đối với phần thứ hai của câu hỏi của bạn, bạn có thể tắt gói như vậy:

@Html.TextAreaFor(m => m.Name, new { wrap = "off" })