Я обновляю свои старые представления .aspx новым движком представления Razore. У меня есть несколько мест, где у меня есть такой код:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
В идеале я хотел бы сделать это:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
Однако здесь есть две проблемы:
vote-up@{puzzle.UserVote
.... не рассматривает символ @ как начало блока кода@puzzle.UserVote == VoteType.Up
смотрит на первую часть так,@puzzle.UserVote
как будто она должна отображать значение переменной.
Кто-нибудь знает, как решить эти проблемы?
@(isSomething ? "class='test'" : "")
javascript или аналогичного, он будет кодировать их как объекты, подобные разрывам '
страницы. Так что вы должны использовать Html.Raw("..")
. В противном случае с приведенным выше кодом вы получите что-то вроде, <p class='test'>
что недопустимо.
@(puzzle.UserVote == VoteType.Up ? "-selected" : "")