DateTime在ExtJs中无法正确序列化的问题-阿里云开发者社区

开发者社区> 杨俊明> 正文

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

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

这几天在学习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' }
            ],

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
My97DatePicker无权限问题
最近遇到了My97DatePicker在网页中加载,点击前几次没问题,然后就出现了点击没权限的提示。网上搜索大部分说明是因为二级域名的问题,但是实际项目中并没有出现二级域名。去官网上看说明文档,发现原来是和IFrame有关,因为用到了前台jQuery UI框架,中间对页面的加载使用的是IFrame。
750 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
9565 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
11226 0
一个笛卡尔积的update from引发的问题(内存泄露?)
场景 PostgreSQL支持多表JOIN的更新操作,但是如果SQL没有写好,可能会导致出现笛卡尔积的情况。 如果是条查询语句,出现笛卡尔积时,没什么问题,大不了就是查询慢一点。 如果是条更新语句,现在看来可能代码中有内存泄露的BUG,已反馈给PG社区。 另外需要注意P
3024 0
一起谈.NET技术,解决编程中序列化问题
  一、问题重现   为了重现我实际遇到的问题,我特意将问题简化,为此我写了一个简单的例子(你可以从这里下载)。在下面的代码片断中,我创建了一个名称为ContextItem的类型,代表一个需要维护的上下文项。
718 0
关于ExtJS3.0组件连接http://extjs.com/s.gif的问题
本文为原创,如需转载,请注明作者和出处,谢谢!     最近在做一个ExtJS的应用,以前使用时都是连网的,也没任何问题。不过最近由于某些原因,开发的机器无法连网。
630 0
+关注
杨俊明
菩提树下的杨过 http://yjmyzz.cnblogs.com/
1105
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载