Вопрос

Я хочу отобразить изображение, если выполнены 2 условия.

  1. Элемент данных не является нулевым
  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» и тип «целое число». Описание: Неизвестное исключение произошло во время выполнения текущего веб -запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где он возник в коде.

Детали исключения: System.invalidcastException: Operator '=' не определено для типа «dbnull» и тип «целое число».

Это было полезно?

Решение

Попробуйте использовать OrElse. Анкет В VB.NET Or Условный оператор приводит к оценке обеих сторон независимо от успеха. Так что, если у вас есть NULL, это все равно попытается сравнить. С использованием OrElse приведет к оценке второго условия, если первое верно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top