• 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: "添加时间", 140, sortable: true,renderer: setAddTime,dataIndex: 'F_AddTime' }
                ],

    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    HDU 6464 /// 权值线段树
    HDU 6468 /// DFS
    HDU 6469 /// 二分
    HDU 6470 /// 矩阵快速幂
    USACO 2014 US Open Odometer /// 数位DP
    hdu5988(费用流,对数相乘做加法)
    对AC自动机+DP题的一些汇总与一丝总结 (2)
    对AC自动机+DP题的一些汇总与一丝总结 (1)
    POJ 1625 Censored ( Trie图 && DP && 高精度 )
    HDU 2243 ( Trie图 矩阵构造幂和 )
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1280735.html
Copyright © 2020-2023  润新知