2017-10-18 47 views
2

我有劍道格的彈出式內顯示的記錄中,第一列是ASP.Net MVC的DateTimePicker劍道網格內沒有得到當前時間創建

col.Bound(m => m.RecordDate) 
    .EditorTemplateName("DateTime") 
    .Width(180).Format("{0:dd/MM/yyyy h:mm tt}");` 

這是EditorTemplateDateTime -

@(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

當你說「彈出窗口未關閉」時,你究竟是什麼意思?當你說「我再創造一個記錄」時,你還指什麼?在你之前使用過的那個彈出窗口沒有關閉嗎? –

+0

「彈出不被關閉」意味着用戶可以隨時在該彈出窗口上再次創建一個記錄,只要用戶不關閉它,「我再次創建記錄」意味着這是我第二次創建一個記錄kendogrid彈出裏面,我幾分鐘後創建另一個記錄, – user3924457

+0

這篇文章幫助我解決了我的問題。 https://stackoverflow.com/questions/22245803/kendoui-grid-popup-edit-with-datepicker-plugin-not-updating-its-time-value – user3924457

回答

1

由於沒有被關閉的窗口,然後綁定的日期時間的日期選擇器將ALLWAYS的是被綁定的日期時間第一次窗口被加載。元素不會刷新,並且沒有任何配置可以讓它始終獲取當前的DateTime,因爲這是不可能的。

例如,如果您打開任何窗口,直到您保存幾分鐘時間,dateTime的值將再次出錯。如果你想保存的絕對時刻,你不能給它的用戶插入或改變它。你應該在保存事件時將其設置在發生保存的那一刻

如果你仍然希望允許用戶處理dateTime,我可以想到的一種方式是將dateTimePicker值重置爲Date.now( )每次用戶關注窗口時。很顯然,當用戶插入他的數據時,你仍然會遇到時間流逝的問題...