我有一个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作为日期。我知道问题是日期时间的转换,但我不知道如何保存和加载此数据后。
感谢所有
答案 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