前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jQuery/asp.net mvc DateTime 的处理

jQuery/asp.net mvc DateTime 的处理

作者头像
张善友
发布2018-01-19 10:55:00
7230
发布2018-01-19 10:55:00
举报
文章被收录于专栏:张善友的专栏张善友的专栏

在Javascript中的DateTime需要使用new Date(318326400000),asp.net mvc返回的Json时间格式变成了/Date(318326400000)/ jQuery.ajax() 函数消费的Json数据的Date类型可以通过jQuery 1.2.6以上版本所增加的 jQuery.ajax.dataFilter

第一步通过jQuery.ajax()的dataFilter函数预处理asp.net datetime 对象到本地的javascript对象

代码语言:js
复制
 $.ajax({
                type: "POST",
                dataType: "json", //数据格式:JSON
                url: '/MyProject/SearchMailInfoJson', //目标地址
                data: "page=" + pageindx + buildWhere(),
                beforeSend: function() { $("#divload").show(); $("#Pagination").hide(); }, //发送数据之前
                complete: function() { $("#divload").hide(); $("#Pagination").show(); }, //接收数据完毕
                dataFilter: function(data, type) {
                    return data.replace(/"\\\/(Date\([0-9-]+\))\\\/"/gi, 'new $1');
                },
                success: function(json) {
                    $("#list-table tr:gt(0)").remove();
                    $.each(json, function(i, item) {
                        if (item["SendTime"] == null) {
                            item["SendTime"] = "";
                        }
                        var trs = "";
                        trs += "<tr style='font-weight: '> <td align='center'>" + item["EmailSubject"];
                        trs += "</td><td align='center' style='word-wrap:break-word;word-break:break-all;'>";
                        trs += item["MessageTo"] + "</td><td>" + item["MessageFrom"] + "</td>";
                        trs += "<td align='left'>" + item["EmailCC"] + "</td><td align='center'>" + item["MailType"] + "</td>";
                        trs += "<td align='center'>" + dateFormat(item["ArrivedDateTime"], "yyyy-mm-dd HH:MM:ss") + "</td>";
                        trs += "<td align='center'>" + item["Status"] + "</td>";
                        trs += "<td align='center'>" + dateFormat(item["SendTime"], "yyyy-mm-dd HH:MM:ss") + "</td>";
                        trs += "<td><a href='javascript:showPopWin('效果预览', 'SendMailPreview?sysId=" + item["SystemID"] + "&mailID=" + item["ID"] + "', 600, 600, null,true,true);>预览</a></td><tr>";
                        tbody += trs;
                    });                
 
                    $("#list-table").append(tbody);
                    $("#list-table tr:gt(0)").hover(function() {
                        $(this).addClass('mouseover');
                    }, function() {
                        $(this).removeClass('mouseover');
                    });
                }
            });

第二步处理javascript的Date的字符串表示,类似于.net DateTime.ToString(). 这可以使用另一个javascript 时间格式库,文档参看 http://blog.stevenlevithan.com/archives/date-time-format

http://www.overset.com/2008/07/18/simple-jquery-json-aspnet-webservice-datetime-support/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009-07-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档