在我的网格中,我有一个包含以下参数的日期列:
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
知道造成这种情况的原因是什么?
答案 0 :(得分:6)
原因是当KendoUI即将向服务器发送数据时,它会将您的数据序列化为string
,date
类型的默认序列化为长格式。
您可以通过将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
实际定义