我有一个显示记录的kendo网格弹出窗口,第一列是
col.Bound(m => m.RecordDate)
.EditorTemplateName("DateTime")
.Width(180).Format("{0:dd/MM/yyyy h:mm tt}");`
这是DateTime
-
EditorTemplate
@(Html.Kendo().DateTimePickerFor(m => m)
.HtmlAttributes(new { data_bind = dataBind}))`
问题是,当我转到该视图并创建记录时,让我们说当前日期时间为19/10/2017 8:30 AM
,当我保存记录时,它得到正确的时间,网格被重新加载但弹出窗口没有关闭,然后让我们说3分钟过去了,我再次创建了一条记录,但是datetimepicker的默认值仍然是19/10/2017 8:30 AM
,而不是19/10/2017 8:33 AM
答案 0 :(得分:1)
由于窗口没有被关闭,因此datePicker的绑定日期时间将是第一次加载窗口时绑定的dateTime。元素没有刷新,并且没有任何配置可以始终获取当前的DateTime,因为它是不可能的。
例如,如果您打开任何窗口,直到您的保存几分钟过去,dateTime的值将再次出错。如果您想要保存的绝对时刻,则无法将其提供给用户以插入或更改它。您应该在保存发生的确切时刻将其设置为保存事件
但是,如果您仍然希望允许用户处理该dateTime,我可以想到的一种方法是每次用户关注窗口时将dateTimePicker值重置为Date.now()。显然,当用户插入数据时,你仍会遇到时间问题...