我想在PendingApproval值上设置可见性,但是在数据库PendingApprovalfield中允许为空,所以我在这里得到的错误是代码
我收到此错误从“DBNull”类型转换为“Integer”类型无效。
style="margin-left:6px; margin-top:auto; display:<%# IIf(CTYPE(Eval("PendingApproval"),Integer) = 1, "block", "none")%>"
答案 0 :(得分:1)
试试这个。我假设如果值为NULL,则可见性需要设置
style="margin-left:6px; margin-top:auto; display:<%# IIf(Eval("PendingApproval")=DBNull.value,"none", IIf(Eval("PendingApproval") = 1, "block", "none"))%>"
一个建议,在用于提取报告的查询中,您可以应用ISNULL()函数,如下所示:
SELECT col1, ISNULL(PendingApproval,0), ..., coln FROM TABLE1
通过这种方式,您将获得NULL值0,并且您的旧代码将无法正常工作而无需比较DBNull.value
答案 1 :(得分:0)
为防止出现此错误,请尝试此操作..
style="margin-left:6px; margin-top:auto; display:<%#Iif(Eval("PendingApproval") Is Null,"none",IIf(CTYPE(Eval("PendingApproval"),Integer) = 1, "block", "none"))%>"