看错误信息应该是时间为空的情况没有处理吧,DateTime.CompareTo(DateTime) 方法接收的参数不是可空的,所以一旦传个null进去,就会报这个错了吧。
既然定义为可空类型,所以你应该先判断dateBegin,dateEnd是否为空:如果为空应该有套逻辑去处理,比如给个默认值或者干脆就不比较什么的;不为空的时候再用Convert.ToDateTime(r.RECORDDATE).CompareTo(dateBegin.value)去比较。
至于和silverlight调试的关系,我也不太清楚,没搞过,我猜是因为某些动作导致没法正确的从页面或得到时间值,导致转换为DateTime时为空了吧。
既然定义为可空类型,所以你应该先判断dateBegin,dateEnd是否为空:如果为空应该有套逻辑去处理,比如给个默认值或者干脆就不比较什么的;不为空的时候再用Convert.ToDateTime(r.RECORDDATE).CompareTo(dateBegin.value)去比较。
至于和silverlight调试的关系,我也不太清楚,没搞过,我猜是因为某些动作导致没法正确的从页面或得到时间值,导致转换为DateTime时为空了吧。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货