2013-12-17 57 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; –