【问题标题】:KendoDatePicker is not recognizing dates returned in json from a web serviceKendoDatePicker 无法识别从 Web 服务返回的 json 日期
【发布时间】:2013-12-17 19:21:16
【问题描述】:

我将 Kendo UI 日期小部件绑定到对象内的属性(在下面的示例中为 TestDate)。 TestDate 使用从 Web 服务返回的 json 填充 - 在下面的示例中,goalHeader1 是从 json 填充的对象。问题是 json 在 ISO 标准字符串中指定了日期。 Kendo 网格列很好地处理了这一点,但表单控件似乎只处理纯 JavaScript 日期值。当然,我可以添加代码以在客户端将每个 json 日期转换为 javascript 日期,但我不想要求我们所有的应用程序开发人员在每次调用 Web 服务时都这样做。
我们正在使用 MVC webapi v1 将我们的对象转换为 json。想法? http://jsfiddle.net/gQcS3/8/

代码:

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); 

【问题讨论】:

    标签: javascript json kendo-ui kendo-datepicker


    【解决方案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.

    【讨论】:

    • 成功了——非常感谢!刚刚发现在MVC webapi中我也可以更改返回json的格式,但我更喜欢你的解决方案!例如:config.Formatters.JsonFormatter.SerializerSettings.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多