Frage

Ich möchte ein Bild anzuzeigen, wenn zwei Bedingungen erfüllt sind.

  1. Das Datenelement ist nicht null
  2. Der Wert des Datenelements ist größer als 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" />

Fehlermeldung

Operator '=' ist nicht für Typ 'DBNull' und Typ 'Integer' definiert. Beschreibung: Eine nicht behandelte Ausnahme während der Ausführung der aktuellen Webanfrage auf. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über den Fehler und wo es im Code verursacht.

Ausnahmedetails: System.InvalidCastException: Operator '=' ist nicht für Typ 'DBNull' und Typ 'Integer' definiert

.
War es hilfreich?

Lösung

Versuchen OrElse verwenden. In VB.Net bewirkt, dass die Or Konditionaloperator beiden Seiten unabhängig vom Erfolg zu bewerten. Wenn Sie also eine Null haben es den Vergleich ohnehin versuchen geht. OrElse verwendet, wird die zweite Bedingung verursachen nicht bewertet werden, wenn die erste wahr ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top