2011-01-02 36 views
50

Im sử dụng này theo quan điểm của tôi và muốn nó để chỉ hiển thị "Có" hoặc "Không" nhưng hiển thị của nó False?"yes":"No"Shorthand nếu khác với dao cạo

@myPosts.Contains(item.ID)?"Yes":"No" 

Whats sai ở đây?

+0

Dưới đây là một tập hợp các câu trả lời: http://stackoverflow.com/questions/4091831/how-to-use-ternary-operator-in-razor-specifically-on-html-attributes –

+1

Đối với sự nhìn chăm chú của bạn : Bộ não đằng sau cú pháp dao cạo. Điều này rất có thể là tất cả mọi thứ bạn từng muốn biết về dao cạo và nhiều hơn nữa: http://channel9.msdn.com/shows/Going+Deep/Andrew-Nurse-Inside-Razor/ – MrBoJangles

Trả lời

96

Bạn cần dấu ngoặc đơn để sử dụng một biểu thức:

@(myPosts.Contains(item.ID)?"Yes":"No") 
+0

+1 - Đánh bại tôi với nó. – Oded

8

Bạn thậm chí có thể tổ viết tắt nếu bên trong của người khác viết tắt if!

@(myPosts != null ? (myPosts.Contains(item.ID) ? "Yes" : "No") : "Null") 
+1

là loại sử dụng đầy đủ khi nói đến nullables: '@ (myObject.NullableBool! = Null? (MyObject.NullableBool?" Có ":" Không "):" Tôi sẽ biết gì .. ")' – Vegar

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