在日期之间执行搜索时出现ASP .NET MVC错误

时间:2018-10-11 07:29:17

标签: asp.net-mvc

enter image description here

帮我解决此错误。

enter image description here

第一次加载时没有日期和日期的值时,它将起作用。 但是,当具有的日期和来自的日期具有值时,错误显示注释:DB中的dateTime可以为空。

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试在出现错误的地方替换此行:

var report = db.qryItemsMR_emp.Where(m => m.DepartmentShortname==Search && (DateTime?)m.mr_date >= fromd && (DateTime?)m.mr_date <= tod).List();

当Nullable具有值时,将Nullable DateTime压缩为Datetime会产生错误。

OR

或者在fromd.HasValuetod.HasValue时写两个不同的校验,或者在为null时写第二个校验:

if(fromd.HasValue && tod.HasValue )
    var report = db.qryItemsMR_emp.Where(m => m.DepartmentShortname==Search && m.mr_date >= fromd.Value && m.mr_date <= tod.Value).List();
else
    var report = db.qryItemsMR_emp.Where(m => m.DepartmentShortname==Search).List();

如果&否则使用静态类型而不是report,则需要在外部声明var以便以后使用。我不确定什么是回报类型,所以留给您。