1

私のグリッドには、次のパラメーターを持つ日付列があります。

update: {
            url: ROOT+"user/update-user",
            type: "POST"
        }

columns: [
    {...},
    {
        field: "DoB",
        width: 68,
        title: "DoB",
        format: "{0:dd/MM/yyyy}",
        template: '#= kendo.toString(DoB,"dd/MM/yyyy") #'
    },
    {...}

datasource: {
    ...
    schema: {
        model: {
            DoB: {type: "date", editable: false, format: "{0:dd/MM/yyyy}"},
        }
    }
}

問題は、日付列を更新しようとすると、SQL スタイルの日付「YYYY-MM-DD」ではなく、非常に長い日付が送信されることです。

Wed Jan 09 2003 00:00:00 GMT +0000 etc

これの原因は何ですか?

4

1 に答える 1

6

その理由は、KendoUI がサーバーにデータを送信しようとしているときにデータをstringシリアライズし、タイプのデフォルトのシリアライズdateが長い形式であるためです。

a を次のように定義することで、データをサーバーに送信するように適応させることができますtransport.update

update: {
    url : ROOT + "user/update-user",
    type: "POST",
    data: function (data) {
        data.DoB = kendo.toString(data.DoB, "yyyy-MM-dd");
        return data;
    }
},

DoB実際に定義されていることを確認するために、追加の検証が必要になる場合があります

于 2013-01-14T16:40:14.010 に答える