Estou atualizando minhas exibições .aspx antigas com o novo mecanismo de exibição Razore. Eu tenho vários lugares onde eu tenho código assim:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
Idealmente, eu gostaria de fazer isso:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
No entanto, existem dois problemas aqui:
vote-up@{puzzle.UserVote.... não está tratando o símbolo @ como o início de um bloco de código@puzzle.UserVote == VoteType.Upolha para a primeira parte@puzzle.UserVotecomo se fosse para renderizar o valor da variável.
Alguém sabe como resolver esses problemas?
@(isSomething ? "class='test'" : "")exemplo , por exemplo, injetar javascript ou similar, ele os codificará como entidades 'e quebrará a página. Então você deve usar Html.Raw(".."). Caso contrário, com o código acima, você terminará com algo como o <p class='test'>que é inválido.
@(puzzle.UserVote == VoteType.Up ? "-selected" : "")