我正在尝试为ExtJs日历设置Json商店 商店使用Http Proxy来检索它的数据 stores字段包括startDate和endDate,它们是date类型的对象 我将我的C#代码中的数据序列化为Json,这将由Http代理请求 我想知道我应该序列化开始并以字符串或C#DateTime类型结束 目前我将它们序列化为DateTime类型。
Json的回答如下:
{"Data":
"items":[{
"cid":"0",
"end":"\/Date(1275260400000+0100)\/",
"notes":"4:00",
"start":"\/Date(1275260400000+0100)\/",
"title":"Basic""}]
start和end属性看起来像某种日期引用。 我已经尝试将startDate和endDate序列化为字符串而不是DateTime类型。 这将返回以下JsonResponse:
{"Data":
"items":[{
"cid":"0",
"end":"03/06/10",
"notes":"4:00",
"start":"04/06/10",
"title":"Basic""}]
但是,在两种情况下,当存储完成加载时,endDate和startDate字段是未定义的。
我该怎么办?
我想也许我必须将日期格式化为extjs预期的某种格式?
以下是一些示例代码:
this.eventStore = new Ext.data.JsonStore({
id: 'eventStore',
root: 'Data.items',
proxy: new Ext.data.HttpProxy({
url: AppRootPath + 'Calendar/GetCalendarData',
method: 'POST'
}),//proxy
fields: Ext.calendar.EventRecord.prototype.fields.getRange()
});
答案 0 :(得分:1)
查看Ext.data.Field的文档 - http://dev.sencha.com/deploy/dev/docs/?class=Ext.data.Field。它有一个名为'dateFormat'的属性,允许您指定确切的日期格式。
答案 1 :(得分:0)
我遇到了同样的问题,我解决了这个问题:
fields: [
{ name: 'Id', type: 'int' },
{ name: 'ResourceId', mapping: 'fitter_id', type: 'int' },
{ name: 'StartDate', type: 'date', format: 'd/m/Y G:i' },
{ name: 'EndDate', type: 'date', format: 'd/m/Y G:i' },
{ name: 'status', type: 'int' },
{ name: 'job_id', type: 'int' }
]