MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)
实际上是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)相关推荐
- javascript解析JSON返回的日期格式
javascript解析JSON返回的日期格式 返回的JSON格式 /Date(1563162120000)/ 解析后的日期 2019-07-15 11:42:00 // 格式化josn字符串 fun ...
- asp.net MVC 5 及 Web API修改日期格式
在Asp.net MVC 5 (目前我用的是5这个版本) 中. Web API 和MVC 是两个独立的体系. 很多时候为了解决一个问题查来查去, 方案很多就是不管用. 后来才恍然大悟. 原来是两个体系 ...
- Django 基础(13)-Django drf 序列化器类to_representation和to_internal_value(处理返回的日期格式)、序列化类 ModelSerializer
文章目录 一.Django drf 序列化 1. 背景 2. 使用思路 3. 代码demo 4. [重要]序列化类 ModelSerializer 5. DRF序列化器to_representatio ...
- java01:java英文日期格式化为Date
java英文日期格式化为Date 在编写爬虫网站抓取新闻资讯的日期字段时,遇到了"November 27 2018"格式的日期,需要统一转换为"Thu Jan 24 00 ...
- 解决全网90%以上的日期格式转换、日期序列等骚操作问题
function getYearMonthList(startDate, endDate) {//返回月份的数组 如 ['2021/07','2021/08']var arr = [];var s = ...
- java日期转字符串_Java时间日期格式转换Date转String和String转Date
1 Java时间格式转换大全2 3 import java.text.*;4 importjava.util.Calendar;5 public classVeDate {6 /** 7 * 获取现在 ...
- Java时间日期格式转换Date转String和String转Date
Java时间格式转换大全 谢谢大神的时间格式转换稿子:https://blog.csdn.net/u010486495/article/details/79260448 查阅后发现没有我想要的,后经人 ...
- spring mvc 日期类型转换问题 @initBinder解决前台与后台的日期格式不统一问题
在用ssm框架开发web程序的时候发现后台传到前台的日期可能格式不是我们想要的 可以用以下解决方案 在controller里面添加一个方法 /** * 加入以下方法 解决spring无法转换date数 ...
- 后台返回的日期格式的处理
今天处理了一下时间格式,虽然每天都处理但是都是使用Moment.js 来进行处理 下载安装 不是有手就行,如果不会的话,那就按照官网的一步步的安装,然后看人家是怎么使用的,我就不复制粘贴了. 然后发现 ...
- 时间戳转日期格式 +new Date
在看前辈的代码的时候看到了const jsonp = +new Date,当时就不明白了,+new Date是怎么回事,啥情况不懂啊,本着求知欲的情况下,就去网上查了一下.做了如下总结: js在某个数 ...
最新文章
- 《SQL初学者指南(第2版)》——2.4 指定列
- [Java基础]体验Stream流
- XGBoost入门及实战
- (pytorch-深度学习)实现稠密连接网络(DenseNet)
- 【python笔记】:字典类型详解
- linux安装python3.7
- for path多行变一列
- SourceInsight3.5---a valid serial number was not entered问题解决
- Workstation服务无法启动导致无法访问文件服务器
- 【web前端期末大作业】html网上在线书城大学生静态网页 大学生html当当书城仿站 网上书城购物网页作业HTML
- Cortex-M可以跑Linux操作系统吗?
- 数据安全平台——DSP
- Android学习之动画(二)
- Winform contextmenustrip 隐藏图标区域
- Unity Spine动画如何选定帧数(时间)播放
- matlab正弦信号频谱,正弦信号的正弦信号的频谱分析及提取.doc
- 交易就是一路风雨兼程 一路披荆斩棘 谋士社区 老锅
- java毕业设计房产交易系统Mybatis+系统+数据库+调试部署
- PHP - MAC下PhpStorm安装调试环境xdebug
- Visual Studio 好用的插件