Aktualizuję moje stare widoki .aspx za pomocą nowego silnika widoku Razore. Mam kilka miejsc, w których mam taki kod:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
Idealnie chciałbym to zrobić:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
Jednak są tutaj dwa problemy:
vote-up@{puzzle.UserVote.... nie traktuje symbolu @ jako początku bloku kodu@puzzle.UserVote == VoteType.Uppatrzy na pierwszą część@puzzle.UserVotetak, jakby miała renderować wartość zmiennej.
Czy ktoś wie, jak rozwiązać te problemy?
@(isSomething ? "class='test'" : "")Na przykład wstrzyknięcie javascript lub podobne, zakoduje je jako jednostki takie jak 'i przerywa stronę. Więc musisz użyć Html.Raw(".."). W przeciwnym razie z powyższym kodem otrzymasz coś takiego, <p class='test'>co jest nieprawidłowe.
@(puzzle.UserVote == VoteType.Up ? "-selected" : "")