数据绑定表达式中的条件语句

发布于 2024-10-05 02:30:59 字数 517 浏览 8 评论 0原文

如果满足两个条件,我想显示图像。

  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”和类型“Integer”定义运算符“=”。 描述:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息:System.InvalidCastException:未为类型“DBNull”和类型“Integer”定义运算符“=”。

I want to display an image if 2 conditions are met.

  1. The data item is not null
  2. The value of the data item is greater than 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" />

Error message

Operator '=' is not defined for type 'DBNull' and type 'Integer'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidCastException: Operator '=' is not defined for type 'DBNull' and type 'Integer'.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诗化ㄋ丶相逢 2024-10-12 02:30:59

尝试使用OrElse。在 VB.Net 中,Or 条件运算符会导致双方进行计算,无论成功与否。因此,如果你有一个空值,它无论如何都会尝试进行比较。如果第一个条件为 true,则使用 OrElse 将导致不计算第二个条件。

Try using OrElse. In VB.Net the Or conditional operator causes both sides to evaluate regardless of the success. So if you have a null it's going to attempt the comparison anyway. Using OrElse will cause the second condition not to be evaluated if the first is true.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文