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.Up
guarda la prima parte@puzzle.UserVote
come 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" : "")