Sto aggiornando le mie vecchie visualizzazioni .aspx con il nuovo motore di visualizzazione Razore. Ho un sacco di posti in cui ho un codice come questo:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
Idealmente mi piacerebbe fare questo:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
Tuttavia, ci sono due problemi qui:
vote-up@{puzzle.UserVote.... non sta trattando il simbolo @ come l'inizio di un blocco di codice@puzzle.UserVote == VoteType.Upguarda la prima parte@puzzle.UserVotecome se si supponga che renda il valore della variabile.
Qualcuno sa come affrontare questi problemi?
@(isSomething ? "class='test'" : "")esempio iniettando javascript o simili, li codificherà come entità come 'e spezzerà la pagina. Quindi devi usare Html.Raw(".."). Altrimenti con il codice sopra si finirebbe con qualcosa del genere <p class='test'>non valido.
@(puzzle.UserVote == VoteType.Up ? "-selected" : "")