序列化和反序列化ASP.Net MVC和ExtJS之间的日期

时间:2010-01-06 04:55:36

标签: asp.net-mvc datetime serialization extjs

我一直在网上搜索寻找解决方案,但仍然卡住了。

我在序列化DateTime对象时遇到了困难。使用DataContract的标准序列化将给出此结果/日期(1262600239000)/。在Ext.encode之后,结果变为/ Date(1262600239000)/。 Ext.encode的结果在ExtJS日期相关组件(如DateField和ColumnModel)中无法读取。

至于反序列化,我必须以此/日期(1262600239000)/格式提供日期,以便反序列化日期。我怎么能用ExtJS DateField实现这个?

有什么具体方法可以解决这个问题吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以尝试Newtonsoft Json.NET。它是开源和免费的(麻省理工学院许可证)。

这是Ext.Direct .NET Router使用的由Evant开发的(他是ExtJS核心开发团队的一员)。

您可以在Ext.Direct .NET路由器的示例中看到将此代码用于DateTime的代码:

[JsonObject]
public class Company {
    //...
    [JsonProperty(PropertyName = "started")]
    [JsonConverter(typeof(IsoDateTimeConverter))]
    public DateTime Started { get; set; }
    //...
}

答案 1 :(得分:1)

您是否尝试过this

这是对ExtJS的JSON编码和解码方法的重写。请务必阅读最后的评论。