vb.net
  • expression
  • databound
  • conditional-statements
  • 2010-12-01 12 views 1 likes 
    1

    2つの条件を満たす場合に画像を表示したいとします。データバインド式の条件文

    1. データ項目は、データ項目の値が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" /> 
    

    エラーメッセージ

    演算子 '=' よりも大きい

  • nullでありませんタイプ 'DBNull'には定義されておらず、 'Integer'と入力してください。 説明:現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。

    例外の詳細:System.InvalidCastException: 'DBNull'型に '演算子' = 'が定義されておらず、'整数型 'と入力してください。

  • 答えて

    0

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

    関連する問題