DateTime在ExtJs中无法正确序列化的问题

这几天在学习ExtJs + Wcf的过程中,发现一个问题,如果Class中有成员的类型为DateTime,即使我们正常标识了[DataMember],序列化成JSON时,会生成一种特有的格式:

..."AddTime":"\/Date(1213718400000+0800)\/"}...

这种格式ExtJs并不识别,导致最终的组件,比如Grid上无法正常显示,解决办法有二个:

1.将Class的成员,手动改成String类型,不过个人不推荐这种方式,毕竟将数据类型都改了,相应的服务端很多地方都可能会做相关修改

2.用JS在前台调用时,用代码处理返回的JSON字符串格式,使之符合ExtJs的规范(这个方法是从博客园"小庄"那里学来的,呵)

Ext.onReady(function() {
 //这个函数演示了怎样把服务器端的DateTime类型转为Javascript的日期
         function setAddTime(value, p, record) {
             var jsondate = record.data.F_AddTime;
             return eval("new " + jsondate.substr(1, jsondate.length - 2)).toLocaleDateString();
         }
 ...

设置Grid的Columns时,类似如下处理:

 var grid = new Ext.grid.GridPanel({
             store: store,
             columns: [
                 ...
 
                 { header: "添加时间", width: 140, sortable: true,renderer: setAddTime,dataIndex: 'F_AddTime' }
             ],
 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

“玲珑杯”ACM比赛 Round #19题解&源码【A,规律,B,二分,C,牛顿迭代法,D,平衡树,E,概率dp】

A -- simple math problem Time Limit:2s Memory Limit:128MByte Submissions:1599Sol...

34250
来自专栏对角另一面

lodash源码分析之自减的两种形式

本文为读 lodash 源码的第六篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash

219100
来自专栏FreeBuf

使用Burpsuite扩展Hackvertor绕过WAF并解密XOR

最近,我一直在忙于开发自己的一个Burp扩展Hackvertor。这是一个具有基于标签转换功能的编码器,相比起Burp内置的解码器它的功能要强大的多。通过标签的...

14710
来自专栏软件开发 -- 分享 互助 成长

分解成3NF的保持函数依赖的分解算法:

转换成3NF的保持函数依赖的分解算法: ρ={R1<U1,F1>,R2<U2,F2>,...,Rk<Uk,Fk>}是关系模式R<U,F>的一个分解,U={A1,...

37350
来自专栏全沾开发(huā)

使用box-shadow进行画图(性能优化终结者)

17720
来自专栏聊聊技术

原 数据结构-散列表(Hash Table

35990
来自专栏菩提树下的杨过

VisualTreeHelper

Silverlight中只有可视化树,没有WPF中的逻辑树,这一点可从SL的sdk文档中得到印证: 可视化树概念也存在于 WPF 中,它与 Silverligh...

23870
来自专栏菩提树下的杨过

Matplotlib新手上路(下)

接上篇继续,这次来演示下如何做动画,以及加载图片 一、动画图 import numpy as np import matplotlib.pyplot as pl...

36060
来自专栏salesforce零基础学习

salesforce 零基础学习(六十八)http callout test class写法

此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode...

31170
来自专栏用户2442861的专栏

阿里巴巴2014笔试题详解(9月22北京)

第一部分 单选题(前10题,每题2分;后10题,每题3分。选对得满分,选错倒扣1分,不选得0分)

21110

扫码关注云+社区

领取腾讯云代金券