1

2つの条件を満たす場合に画像を表示したい。

  1. データ項目は null ではありません
  2. データ項目の値が 0 より大きい

マークアップ

<img id="Img1" runat="server" visible='<%#IIF( DataBinder.Eval(Container.DataItem,    
"amount") is DBNull.Value Or DataBinder.Eval(Container.DataItem, 
"amount") = 0, False, True)%>' src="/Images/check.png" />

エラーメッセージ

演算子「=」は、タイプ「DBNull」およびタイプ「Integer」に対して定義されていません。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.InvalidCastException: 演算子 '=' は、型 'DBNull' および型 'Integer' に対して定義されていません。

4

1 に答える 1

0

を使ってみてくださいOrElse。VB.Net では、Or条件演算子により、成功に関係なく両側が評価されます。したがって、 null がある場合は、とにかく比較を試みます。を使用OrElseすると、最初の条件が true の場合に 2 番目の条件が評価されなくなります。

于 2010-12-01T19:15:57.080 に答える