[英]Set Datetimepicker date NaN
我有一个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作为日期。 我知道问题是日期时间的转换,但我不知道如何保存以及在加载此数据之后。
谢谢大家
从此处的文档中,Javascript的Date对象可以接收milliseconds
即数字)或dateString
。 我的猜测是result.dataLead
是一个对象,因为您的DataLead
是一个对象(ac#DateTime)。 这就是为什么您无法完成所需的任务。
此处的答案说明了如何从DateTime
获取毫秒。
尝试以下代码(未经测试):
var elemento = new{ dataLead = (long)clienteLead.DataLead.TotalMilliseconds }
然后执行常规任务:
$('#dataLead').datepicker('setDate', (new Date(result.dataLead)));
更新:
由于clientLead.DataLead
可以为null,因此您必须确保在执行(long)clienteLead.DataLead.TotalMilliseconds
时不会收到NullPointerException
,并且可能考虑检查JavaScript中的typeof result.dataLead != "undefined"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.