实际上是Json格式化问题,我们应该在返回json的时候进行格式化,我们需要重写系统的JsonResult类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Script.Serialization;
namespace App.Common
{public class ToJsonResult : JsonResult{const string error = "该请求已被封锁,因为敏感信息透露给第三方网站,这是一个GET请求时使用的。为了可以GET请求,请设置JsonRequestBehavior AllowGet。";/// <summary>/// 格式化字符串/// </summary>
        public string FormateStr{get;set;}public override void ExecuteResult(ControllerContext context){if (context == null){throw new ArgumentNullException("context");}if (JsonRequestBehavior == JsonRequestBehavior.DenyGet &&String.Equals(context.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase)){throw new InvalidOperationException(error);}HttpResponseBase response = context.HttpContext.Response;if (!String.IsNullOrEmpty(ContentType)){response.ContentType = ContentType;}else{response.ContentType = "application/json";}if (ContentEncoding != null){response.ContentEncoding = ContentEncoding;}if (Data != null){JavaScriptSerializer serializer = new JavaScriptSerializer();string jsonstring = serializer.Serialize(Data);//string p = @"\\/Date\((\d+)\+\d+\)\\/";
string p = @"\\/Date\(\d+\)\\/";MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertJsonDateToDateString);Regex reg = new Regex(p);jsonstring = reg.Replace(jsonstring, matchEvaluator);response.Write(jsonstring);}}/// <summary>/// 将Json序列化的时间由/Date(1294499956278+0800)转为字符串/// </summary>
        private string ConvertJsonDateToDateString(Match m){string result = string.Empty;string p = @"\d";var cArray = m.Value.ToCharArray();StringBuilder sb = new StringBuilder();Regex reg = new Regex(p);for (int i = 0; i < cArray.Length; i++){if (reg.IsMatch(cArray[i].ToString())){sb.Append(cArray[i]);}}// reg.Replace(m.Value;
DateTime dt = new DateTime(1970, 1, 1);dt = dt.AddMilliseconds(long.Parse(sb.ToString()));dt = dt.ToLocalTime();result = dt.ToString("yyyy-MM-dd HH:mm:ss");return result;}}
}

创建Controller的基类,BaseController让Controller去继承Controller

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
using App.Common;
using App.Models.Sys;namespace App.Admin
{public class BaseController : Controller{/// <summary>/// 获取当前用户Id/// </summary>/// <returns></returns>
        public string GetUserId(){if (Session["Account"] != null){AccountModel info = (AccountModel)Session["Account"];return info.Id;}else{return "";}}/// <summary>/// 获取当前用户Name/// </summary>/// <returns></returns>
        public string GetUserTrueName(){if (Session["Account"] != null){AccountModel info = (AccountModel)Session["Account"];return info.TrueName;}else{return "";}}/// <summary>/// 获取当前用户信息/// </summary>/// <returns>用户信息</returns>
        public AccountModel GetAccount(){if (Session["Account"] != null){return (AccountModel)Session["Account"];}return null;}protected override JsonResult Json(object data, string contentType, Encoding contentEncoding, JsonRequestBehavior behavior){return new ToJsonResult{Data = data,ContentEncoding = contentEncoding,ContentType = contentType,JsonRequestBehavior = behavior,FormateStr = "yyyy-MM-dd HH:mm:ss"};}/// <summary>/// 返回JsonResult.24         /// </summary>/// <param name="data">数据</param>/// <param name="behavior">行为</param>/// <param name="format">json中dateTime类型的格式</param>/// <returns>Json</returns>
        protected JsonResult MyJson(object data, JsonRequestBehavior behavior, string format){return new ToJsonResult{Data = data,JsonRequestBehavior = behavior,FormateStr = format};}/// <summary>/// 返回JsonResult42         /// </summary>/// <param name="data">数据</param>/// <param name="format">数据格式</param>/// <returns>Json</returns>
        protected JsonResult MyJson(object data, string format){return new ToJsonResult{Data = data,FormateStr = format};}/// <summary>/// 检查SQL语句合法性/// </summary>/// <param name="sql"></param>/// <returns></returns>
        public bool ValidateSQL(string sql, ref string msg){if (sql.ToLower().IndexOf("delete") > 0){msg = "查询参数中含有非法语句DELETE";return false;}if (sql.ToLower().IndexOf("update") > 0){msg = "查询参数中含有非法语句UPDATE";return false;}if (sql.ToLower().IndexOf("insert") > 0){msg = "查询参数中含有非法语句INSERT";return false;}return true;}}
}

好了,我们运行,其实就是这么一回事!

转载于:https://www.cnblogs.com/ymnets/p/3439324.html

MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)相关推荐

  1. javascript解析JSON返回的日期格式

    javascript解析JSON返回的日期格式 返回的JSON格式 /Date(1563162120000)/ 解析后的日期 2019-07-15 11:42:00 // 格式化josn字符串 fun ...

  2. asp.net MVC 5 及 Web API修改日期格式

    在Asp.net MVC 5 (目前我用的是5这个版本) 中. Web API 和MVC 是两个独立的体系. 很多时候为了解决一个问题查来查去, 方案很多就是不管用. 后来才恍然大悟. 原来是两个体系 ...

  3. Django 基础(13)-Django drf 序列化器类to_representation和to_internal_value(处理返回的日期格式)、序列化类 ModelSerializer

    文章目录 一.Django drf 序列化 1. 背景 2. 使用思路 3. 代码demo 4. [重要]序列化类 ModelSerializer 5. DRF序列化器to_representatio ...

  4. java01:java英文日期格式化为Date

    java英文日期格式化为Date 在编写爬虫网站抓取新闻资讯的日期字段时,遇到了"November 27 2018"格式的日期,需要统一转换为"Thu Jan 24 00 ...

  5. 解决全网90%以上的日期格式转换、日期序列等骚操作问题

    function getYearMonthList(startDate, endDate) {//返回月份的数组 如 ['2021/07','2021/08']var arr = [];var s = ...

  6. java日期转字符串_Java时间日期格式转换Date转String和String转Date

    1 Java时间格式转换大全2 3 import java.text.*;4 importjava.util.Calendar;5 public classVeDate {6 /** 7 * 获取现在 ...

  7. Java时间日期格式转换Date转String和String转Date

    Java时间格式转换大全 谢谢大神的时间格式转换稿子:https://blog.csdn.net/u010486495/article/details/79260448 查阅后发现没有我想要的,后经人 ...

  8. spring mvc 日期类型转换问题 @initBinder解决前台与后台的日期格式不统一问题

    在用ssm框架开发web程序的时候发现后台传到前台的日期可能格式不是我们想要的 可以用以下解决方案 在controller里面添加一个方法 /** * 加入以下方法 解决spring无法转换date数 ...

  9. 后台返回的日期格式的处理

    今天处理了一下时间格式,虽然每天都处理但是都是使用Moment.js 来进行处理 下载安装 不是有手就行,如果不会的话,那就按照官网的一步步的安装,然后看人家是怎么使用的,我就不复制粘贴了. 然后发现 ...

  10. 时间戳转日期格式 +new Date

    在看前辈的代码的时候看到了const jsonp = +new Date,当时就不明白了,+new Date是怎么回事,啥情况不懂啊,本着求知欲的情况下,就去网上查了一下.做了如下总结: js在某个数 ...

最新文章

  1. 《SQL初学者指南(第2版)》——2.4 指定列
  2. [Java基础]体验Stream流
  3. XGBoost入门及实战
  4. (pytorch-深度学习)实现稠密连接网络(DenseNet)
  5. 【python笔记】:字典类型详解
  6. linux安装python3.7
  7. for path多行变一列
  8. SourceInsight3.5---a valid serial number was not entered问题解决
  9. Workstation服务无法启动导致无法访问文件服务器
  10. 【web前端期末大作业】html网上在线书城大学生静态网页 大学生html当当书城仿站 网上书城购物网页作业HTML
  11. Cortex-M可以跑Linux操作系统吗?
  12. 数据安全平台——DSP
  13. Android学习之动画(二)
  14. Winform contextmenustrip 隐藏图标区域
  15. Unity Spine动画如何选定帧数(时间)播放
  16. matlab正弦信号频谱,正弦信号的正弦信号的频谱分析及提取.doc
  17. 交易就是一路风雨兼程 一路披荆斩棘 谋士社区 老锅
  18. java毕业设计房产交易系统Mybatis+系统+数据库+调试部署
  19. PHP - MAC下PhpStorm安装调试环境xdebug
  20. Visual Studio 好用的插件

热门文章

  1. 博客园修改TinyMCE编辑器为Markdown编辑器的方法
  2. 【转】vim ctag使用方法
  3. UVa 714 抄书(贪心+二分)
  4. 在windows Console 平台下面 用glut编写 opengl程序 注意
  5. 【转】Prewitt 算子
  6. PAT (Basic Level) Practice 1006 换个格式输出整数
  7. 停课集训 11.30
  8. 全文索引--海量数据模糊查询
  9. Yahoo Web UIs——Java开发者丰富的Web UI
  10. Tyvj-Begin P1029 Begin1 - Unit6 - 幼稚的把戏