2013-05-08 5 views
19

chcę napisać coś takiego:Czy mogę napisać wiersz, jeśli z treścią HTML?

@(checkCondition ? "<span class='label'>Right!</span>" : "") 

Ale to pokazuje kod źródłowy zamiast HTML, istnieje łatwy sposób to zrobić?

Dziękujemy!

+1

http://stackoverflow.com/questions/ 4091831/how-to-use-ternary-operator-in-razor-specific-on-html-attributes – billyonecan

Odpowiedz

50

Można użyć @Html.Raw(mystring) metodę tak:

@(checkCondition ? Html.Raw("<span class='label'>Right!</span>") : Html.Raw("")) 
+0

Dziękuję, próbowałem, ale pojawia się błąd niejawnej konwersji pomiędzy "System.Web.IHtmlString" i "string", wydaje się, że Muszę użyć standaru, jeśli w tym przypadku. – Santiago

+1

Użyj metody "Raw" dla obu łańcuchów, jak powyżej. Edytowałem swoją odpowiedź. –

+1

Ahhhhh .... masz rację !! Dziękuję Ci!!! – Santiago

20

Można być jeszcze bardziej zwięzły (przyznawana trudniejsze do odczytania) z tego:

@Html.Raw(checkCondition ? "<span class='label'>Right!</span>": string.Empty) 
Powiązane problemy