jQuery/asp.net mvc DateTime 的处理

简介:

在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对象

$.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().

本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

目录
相关文章
|
22天前
|
开发框架 JSON JavaScript
ASP.NET Core3.1实战教程---基于Jquery单文件上传
ASP.NET Core3.1实战教程---基于Jquery单文件上传
34 0
|
22天前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
76 0
|
22天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
29 0
|
22天前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
35 0
|
22天前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
6 0
|
22天前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
129 5
|
22天前
|
JavaScript 前端开发 Java
jquery ajax+spring mvc上传文件
jquery ajax+spring mvc上传文件
|
22天前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
39 0
|
22天前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
128 0
|
8月前
|
JavaScript
Jquery插件知识之Jquery.cookie实现页面传值
Jquery插件知识之Jquery.cookie实现页面传值
39 0

相关课程

更多