使い方 ? : Razor とインライン コード ブロックを使用した if ステートメント 質問する

使い方 ? : Razor とインライン コード ブロックを使用した if ステートメント 質問する

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

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

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

ベストアンサー1

これは動作するはずです:

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

おすすめ記事