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.Up
melihat bagian pertama@puzzle.UserVote
seolah-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" : "")