2011-06-28 32 views
7

Tôi mới sử dụng công cụ xem MVC 3, dao cạo. Tôi muốn đặt chế độ hiển thị của hộp văn bản trong thời gian chạy theo giá trị trong chế độ xem của tôi.Đặt mức hiển thị của hộp văn bản trong MVC3 Công cụ xem dao cạo

Nhưng mã bên dưới không hoạt động.

<td> 
    @Html.TextBox("CompanyName", "", new { visible = "false" }) 
</td> 

Khi mã ở trên bắt đầu hoạt động, tôi có thể đặt @Model.EnableCompanyName thay cho mã cứng "giả".

Vì vậy, hãy giúp tôi khắc phục mã trên.

Trả lời

14

Điều này sẽ thay đổi kiểu hiển thị dựa trên Model.EnableCompanyName bool bạn :)

Hy vọng nó sẽ giúp!

@{ 
String displayMode = (Model.EnableCompanyName) ? "inline" : "none"; 
@Html.TextBox("CompanyName", "", new { style = "display:" + displayMode + ";" }) 
} 
+0

Thx Chris. Chỉ cần thay thế không có sai trong nhiệm vụ đầu tiên của bạn và nó làm việc như mong đợi. – Biki

+0

Woops! Trường cậu bé lỗi lol. Đã cập nhật câu trả lời để phản ánh điều đó. :) – Chris

2

(Edited)

@Html.TextBox("CompanyName", "", new { style = Model.EnableCompanyName ? "display:inline" : "display:none" })

+0

Hi, Ngay cả những hardcoding của giả không hoạt động. Ví dụ: @ Html.TextBox ("CompanyName", "", new {visible = "false"}) không hoạt động. – Biki

+0

vì vậy, bạn cần phải vượt qua: new {style = "display: none"} –

+1

Lần tới hãy thử chỉ định chính xác hơn những gì bạn muốn. Nếu bạn không biết cách ẩn phần tử DOM thì đây là một câu hỏi khác. Tôi chỉ hiểu lầm bạn. –

9

Nó không có gì để làm với dao cạo như vậy. visible không phải là thuộc tính hợp lệ cho phần tử input (đó là những gì Html.TextBox sẽ tạo). Bạn cần

@Html.TextBox("CompanyName", "", new { style = "display:none;" }) 

Xem ví dụ này ở đây:

http://jsfiddle.net/QxSpU/

0

Thêm @ Html.TextBox ("CompanyName", "", mới {Style = Model.EnableCompanyName? "Visibility: có thể nhìn thấy": "visibility: hidden"})

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