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.Upnhìn vào phần đầu tiên@puzzle.UserVotenhư 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" : "")