1. ホーム
  2. asp.net

[解決済み] Razorとインラインコードブロックによるif文の使用方法

2022-04-23 15:54:05

質問

古い.aspxビューを新しいRazoreビューエンジンで更新しています。このようなコードがある場所がたくさんあります。

<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つの問題があります。

  1. vote-up@{puzzle.UserVote ......は、@記号をコードブロックの開始として扱わない。
  2. @puzzle.UserVote == VoteType.Up は最初の部分を見ます。 @puzzle.UserVote のように、変数の値をレンダリングすることになっています。

これらの問題に対処する方法をご存知の方はいらっしゃいますか?

解決方法は?

これでうまくいくはずです。

<span class="vote-up@(puzzle.UserVote == VoteType.Up ? "-selected" : "")">Vote Up</span>