Saya memperbarui pandangan .aspx lama saya dengan mesin tampilan Razore baru. Saya memiliki banyak tempat di mana saya memiliki kode seperti ini:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
Idealnya saya ingin melakukan ini:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
Namun ada dua masalah di sini:
vote-up@{puzzle.UserVote.... tidak memperlakukan simbol @ sebagai awal dari blok kode@puzzle.UserVote == VoteType.Upmelihat bagian pertama@puzzle.UserVoteseolah-olah seharusnya membuat nilai variabel.
Adakah yang tahu cara mengatasi masalah ini?
@(isSomething ? "class='test'" : "")misalnya menyuntikkan javascript atau sejenisnya, itu akan menyandikan mereka sebagai entitas seperti 'dan menghancurkan halaman. Jadi, Anda harus menggunakan Html.Raw(".."). Kalau tidak, dengan kode di atas Anda akan berakhir dengan sesuatu seperti <p class='test'>yang tidak valid.
@(puzzle.UserVote == VoteType.Up ? "-selected" : "")