2

データセットから2つの文字列を評価して、三項演算子を使用してクラスの説明を識別しようとしています。このコードを実行すると、「式が期待されます」というコンパイラエラーが引き続き発生します。文字列の比較と関係があると思いますが、他の比較演算子を試したのですが、うまくいかないようです。

<ItemTemplate>
<tr>
   <td><%# FormatDateTime(Eval("GameDate"), DateFormat.ShortDate)%></td>
   <td class="<%# (Eval("Team1Score").ToString() > Eval("Team2Score").ToString()) ? 'Winner':'' %>"><%# Eval("Team1")%></td>
   <td><%# Eval("Team1Score")%></td>
   <td><%# Eval("Team2")%></td>
   <td><%# Eval("Team2Score")%></td>
</tr>
</ItemTemplate>

これが私のサンプルデータです:

    GameDate      Team1 Team1Score     Team2    Team2Score      Winner
    2012-04-14    Blues 5              Reds     3               Blues
    2012-04-13    A's   4              B's      2               A's
    2012-04-11    Blues 1              A's      1               Tie
    2012-04-13    B's   3              Reds     2               B's
    2012-04-10    Blues 7              B's      4               Blues

ご協力ありがとうございました

4

2 に答える 2

8

問題は、2 つの文字列を比較しようとしていることだと思います。比較のために、値を int などに変換するだけです。たとえば、比較を次のように変更します。

<td class="<%# (Convert.ToInt32(Eval("Team1Score")) > Convert.ToInt32(Eval("Team2Score"))) ? 'Winner':'' %>"><%# Eval("Team1")%></td>

または、適切な型にキャストすることもできます。

<td class="<%# ((int)Eval("Team1Score") > (int)Eval("Team2Score")) ? 'Winner':'' %>"><%# Eval("Team1")%></td>

お役に立てれば!

于 2012-07-08T23:51:43.137 に答える