Mặc dù Microsoft đã tạo ra một số kết xuất tự động các thuộc tính html trong dao cạo MVC4, nhưng tôi đã mất khá nhiều thời gian để tìm hiểu cách hiển thị lớp css thứ hai trên một phần tử, dựa trên biểu thức dao cạo có điều kiện. Tôi muốn chia sẻ nó với bạn.
Dựa trên một thuộc tính mô hình @ Model.Details, tôi muốn hiển thị hoặc ẩn một mục danh sách. Nếu có chi tiết, một div nên được hiển thị, nếu không, nó sẽ bị ẩn. Sử dụng jQuery, tất cả những gì tôi cần làm là thêm một lớp hiển thị hoặc ẩn tương ứng. Đối với các mục đích khác, tôi cũng muốn thêm một lớp khác, "chi tiết". Vì vậy, đánh dấu của tôi nên là:
<div class="details show">[Details]</div>
hoặc là <div class="details hide">[Details]</div>
Dưới đây, tôi hiển thị một số lần thử thất bại (kết quả đánh dấu giả định không có chi tiết).
Này: <div @(@Model.Details.Count > 0 ? "class=details show" : "class=details hide")>
,
sẽ kết xuất cái này : <div class="details" hide="">
.
Điều này : <div @(@Model.Details.Count > 0 ? "class=\"details show\"" : "class=\"details hide\"")>
.
sẽ kết xuất cái này : <div class=""details" hide"="">
.
Điều này: <div @(@Model.Details.Count > 0 ? "class='details show'" : "class='details hide'")>
sẽ kết xuất cái này : <div class="'details" hide'="">
.
Không ai trong số này là đánh dấu chính xác.