Tôi đang cập nhật các chế độ xem .aspx cũ của mình với công cụ xem Razore mới. Tôi có một loạt các nơi tôi có mã như thế này:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
Lý tưởng nhất là tôi muốn làm điều này:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
Tuy nhiên, có hai vấn đề ở đây:
vote-up@{puzzle.UserVote
.... không coi biểu tượng @ là bắt đầu của một khối mã@puzzle.UserVote == VoteType.Up
nhìn vào phần đầu tiên@puzzle.UserVote
như thể nó sẽ hiển thị giá trị của biến.
Bất cứ ai cũng biết làm thế nào để giải quyết những vấn đề này?
@(isSomething ? "class='test'" : "")
mã hóa như dấu nháy đơn, ví dụ như tiêm javascript hoặc tương tự, nó sẽ mã hóa chúng thành các thực thể như '
và phá vỡ trang. Vì vậy, bạn phải sử dụng Html.Raw("..")
. Mặt khác, với đoạn mã trên, bạn sẽ có một cái gì <p class='test'>
đó không hợp lệ.
@(puzzle.UserVote == VoteType.Up ? "-selected" : "")