.NET DateTime сериализуется в JSON для использования в ExtJs JsonStore (хранилище событий для календаря ExtJs)?

Я пытаюсь настроить Json Store для календаря ExtJs.
Магазин использует Http-прокси для извлечения своих данных.
Поля хранилища включают startDate и endDate, которые являются объектами типа date.
I Я сериализую данные в моем коде 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()
});

person shane87    schedule 23.02.2011    source источник


Ответы (2)


Ознакомьтесь с документацией для Ext.data.Field — http://dev.sencha.com/deploy/dev/docs/?class=Ext.data.Field . У него есть свойство dateFormat, которое позволяет указать точный формат даты.

person zihotki    schedule 23.02.2011

У меня была такая же проблема, и я решил ее следующим образом:

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' }
         ]
person Martin    schedule 29.07.2011