<%# Eval("Description") == DBNull.Value ? "empty" : "notempty"%>
总是显露出一个“NotEmpty”甚至有在该领域零的DB(varchar类型(的),NULL) ... 也试过检查空字符串:评估和演示支票的DBNull不工作
<%# Eval("Description") == "" ? "empty" : "notempty"%>
它总是显示notempty ...这里有什么错?
<%# Eval("Description") == DBNull.Value ? "empty" : "notempty"%>
总是显露出一个“NotEmpty”甚至有在该领域零的DB(varchar类型(的),NULL) ... 也试过检查空字符串:评估和演示支票的DBNull不工作
<%# Eval("Description") == "" ? "empty" : "notempty"%>
它总是显示notempty ...这里有什么错?
DBNull.Value
与null
之间的差异。有可能该字段正在返回null
。
尝试
<%# Eval("Description") == null ? "empty" : "notempty"%>
此外,如果字段值类型应该是字符串,你可以做线沿线的东西..
<%# (Eval("Description") as string) ?? "empty" %>
您是否尝试过使用这种方法:
<%# Convert.IsDBNull(Eval("Description") ? "empty" : "notempty"%>
将此模式与'String.IsNullOrWhitespace()'结合起来,并且解决方案很有效 – GoldBishop 2017-05-31 12:54:40
它实际上并不存储DBNull
在这个级别。你需要寻找null
或空字符串,其中string.IsNullOrEmpty
应该是足够的,并将捕获null
和空的两个状态。
<%# string.IsNullOrEmpty(Eval("Description").ToString()) ? "empty" : "notempty"%>
如果description为null,则它将为空引用错误.ToString() – 2011-03-08 16:53:32
'as string'would be working in the case – 2011-03-08 16:53:57
这个工作,你能不能解释我有什么不同?谢谢 !! – 2011-03-07 19:36:46
@Stewie Griffin我认为最基本的解释方式是db值vs .net值。基本上'DBNull.Value'表示缺少数据库值,其中'null'表示数据为'null'。 – 2011-03-07 19:41:44
@QuintinRobinson Null和DBNull之间有区别。请记住,大多数SQL引擎至少具有三态值系统; .Net基于2状态值系统。即使可空泛类型也比其他任何东西都更包装。 – GoldBishop 2017-05-31 12:52:17