2010-01-06 2 views
4

Я искал в Интернете, чтобы найти решение для этого, но все еще застрял.Сериализация и десериализация даты между ASP.Net MVC и ExtJS

У меня возникли трудности с сериализацией объекта DateTime. Стандартная сериализация с использованием DataContract даст этот результат/Date (1262600239000) /. После Ext.encode результат изменился на/Date (1262600239000) /. Результат из Ext.encode не читается в компонентах, связанных с датой времени ExtJS, таких как DateField и ColumnModel для даты.

Что касается десериализации, я должен указать дату в этом/Дата (1262600239000)/format, чтобы десериализовать дату. Как я могу достичь этого с помощью ExtJS DateField?

Есть ли какие-либо конкретные способы обойти это?

Заранее спасибо.

ответ

1

Вы попробовали this?

Это переопределение для методов кодирования и декодирования ExtJS 'JSON. Обязательно прочитайте и последний комментарий.

+0

Я пробовал этот метод, и он работает ... но это дает другое проблема ... Ext.decode неправильно декодирует мое дерево json ... Что касается ссылки, это мой пост в ExtJS Forum http://www.extjs.com/forum/showthread.php?p=424408#post424408 – osheh

2

Вы можете попробовать Newtonsoft Json.NET. Это с открытым исходным кодом и бесплатно (лицензия MIT).

Это тот, который используется Ext.Direct .NET Router, который был разработан Evant (кто является частью группы разработки ExtJS Core Development Team).

Вы можете увидеть этот код, который использует его для DateTime в образце Ext.Direct .NET Router:

[JsonObject] 
public class Company { 
    //... 
    [JsonProperty(PropertyName = "started")] 
    [JsonConverter(typeof(IsoDateTimeConverter))] 
    public DateTime Started { get; set; } 
    //... 
} 
Смежные вопросы