Domanda

voglio visualizzare un'immagine se sono soddisfatte le condizioni di 2.

  1. Il dato non è nullo
  2. Il valore del dato è maggiore di 0

Markup

<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" />

Messaggio di errore

operatore '=' non è definito per il tipo 'DBNull' e il tipo 'Integer'. Descrizione: Un'eccezione non gestita durante l'esecuzione della richiesta Web corrente. Si prega di rivedere l'analisi dello stack per ulteriori informazioni sull'errore e dove ha avuto origine nel codice.

Dettagli eccezione: System.InvalidCastException: Operatore '=' non è definito per il tipo 'DBNull' e il tipo 'Integer'

.
È stato utile?

Soluzione

Provare a usare OrElse. In VB.Net il Or operatore condizionale provoca entrambi i lati per valutare indipendentemente dal successo. Quindi, se si dispone di un nulla sta andando a tentare il confronto in ogni caso. Utilizzando OrElse farà sì che la seconda condizione non da valutare se il primo è vero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top