2013-12-17 59 views
0

我將Kendo UI日期小部件綁定到對象內的屬性(下例中的TestDate)。 TestDate使用從Web服務返回的json填充 - 在以下示例中,goalHeader1是從json填充的對象。問題在於json在ISO std字符串中指定日期。 Kendo網格列處理得很好,但表單控件似乎只能處理純JavaScript日期值。當然,我可以添加代碼來將每個json日期轉換爲客戶端上的javascript日期,但我不想讓每個應用程序開發人員在每次調用Web服務時都這樣做。
我們使用MVC webapi v1將我們的對象轉換成json。思考? http://jsfiddle.net/gQcS3/8/KendoDatePicker無法識別Web服務在json中返回的日期

代碼:

var observable = new kendo.data.ObservableObject({ 
    goalHeader1: { 
     TestDate: "2014-01-02T00:00:00", 
     test: "testText" 
    } 
}); 

// following statement generated from Kendo's asp.net wrapper Q3 2013: 
    jQuery(function(){jQuery("#testDate").kendoDatePicker({"format":"M/d/yyyy","min":new Date(1900,0,1,0,0,0,0),"max":new Date(2099,11,31,0,0,0,0)});}); 

kendo.bind($(document.body), observable); 

回答

1

使用parseFormats當您創建日期選擇器:

jQuery("#testDate").kendoDatePicker({ 
    "format": "M/d/yyyy", 
    parseFormats: ["yyyy-MM-ddTHH:mm:ss"], 
    "min": new Date(1900, 0, 1, 0, 0, 0, 0), 
    "max": new Date(2099, 11, 31, 0, 0, 0, 0) 
}); 

See demo

+0

工作 - 非常感謝!剛剛發現,在MVC webapi中,我也可以更改返回的json的格式,但我更喜歡你的解決方案!例如:config.Formatters.JsonFormatter.SerializerSettings.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat; –