新しいRazoreビューエンジンで古い.aspxビューを更新しています。私はこのようなコードがある場所がたくさんあります:
<span class="vote-up<%= puzzle.UserVote == VoteType.Up ? "-selected" : "" %>">Vote Up</span>
理想的にはこれを行いたいです:
<span class="vote-up@{puzzle.UserVote == VoteType.Up ? "-selected" : ""}">Vote Up</span>
ただし、ここには2つの問題があります。
vote-up@{puzzle.UserVote
.... @記号をコードブロックの開始として扱いません@puzzle.UserVote == VoteType.Up
@puzzle.UserVote
変数の値をレンダリングすることになっているように最初の部分を調べます。
誰もがこれらの問題に対処する方法を知っていますか?
これはかみそりのインライン三項演算子のトップ結果であるため、出力にhtmlまたはアポストロフィなどのエンコード可能な文字が含まれている場合(たとえば
—
NibblyPig
@(isSomething ? "class='test'" : "")
、JavaScriptの挿入など)、それらをエンティティとしてエンコードし'
、ページを分割することを追加します。したがって、を使用する必要がありますHtml.Raw("..")
。そうでなければ、上記のコード<p class='test'>
では、無効なものになってしまいます。
@(puzzle.UserVote == VoteType.Up ? "-selected" : "")