设置Datetimepicker日期NaN

时间:2016-07-19 12:22:23

标签: c# jquery datetimepicker

我有一个datetimepicker,我使用此代码在我的SQLServer中使用保存按钮保存所选日期。出于某种原因,我需要一个可以为空的DateTime:

clienteAdd.DataLead = string.IsNullOrEmpty(form["dataLead"]) ? (DateTime?)null : DateTime.Parse(form["dataLead"]);

保存功能正常,问题是我设置了datetimepicker加载。我使用以下代码从SQLServer恢复数据:

var elemento = new{ dataLead = clienteLead.DataLead }

我从jQuery向视图发送'elemento'并设置了datetimepicker:

$('#dataLead').datepicker('setDate', (new Date(result.dataLead)));

当我设置'dataLead'时,我将NaN作为日期。我知道问题是日期时间的转换,但我不知道如何保存和加载此数据后。

感谢所有

1 个答案:

答案 0 :(得分:0)

在文档here中,Javascript的Date对象可以重新显示http://tracking.vcommission.com/aff_c?offer_id=2371&url=http%3A%2F%2Fwww.naturesbasket.co.in%2FOnline-grocery-shopping%2FFruits-Vegetables%2FFruits%2F32_0_0%3Futm_source%3Dvcomm%26utm_medium%3Dcps%26utm_campaign%3Dvcommron,这是一个数字或milliseconds。我的猜测是dateString是一个对象,因为你result.dataLead是一个对象(一个c#DateTime)。这就是为什么你不能做你想要的任务。

答案here解释了如何从DataLead获得毫秒数。

尝试以下代码(未经测试):

DateTime

然后进行常规任务:

var elemento = new{ dataLead = (long)clienteLead.DataLead.TotalMilliseconds }

更新

由于$('#dataLead').datepicker('setDate', (new Date(result.dataLead))); 可以为null,因此您必须确保在执行clientLead.DataLead时不会获得NullPointerException,并且可能会考虑在javascript中检查(long)clienteLead.DataLead.TotalMilliseconds