在剑道Gird内部的ASP.Net MVC DateTimePicker没有获得当前创建时间

时间:2017-10-18 23:45:51

标签: asp.net-mvc kendo-asp.net-mvc

我有一个显示记录的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

1 个答案:

答案 0 :(得分:1)

由于窗口没有被关闭,因此datePicker的绑定日期时间将是第一次加载窗口时绑定的dateTime。元素没有刷新,并且没有任何配置可以始终获取当前的DateTime,因为它是不可能的。

例如,如果您打开任何窗口,直到您的保存几分钟过去,dateTime的值将再次出错。如果您想要保存的绝对时刻,则无法将其提供给用户以插入或更改它。您应该在保存发生的确切时刻将其设置为保存事件

但是,如果您仍然希望允许用户处理该dateTime,我可以想到的一种方法是每次用户关注窗口时将dateTimePicker值重置为Date.now()。显然,当用户插入数据时,你仍会遇到时间问题...