实际上是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;
} }
}

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

MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)的更多相关文章

  1. 工具类:关于解决数据库中的日期格式,经过response.getWriter().write(json)打到前台日期格式混乱的问题的总结

    经过response.getWriter().write(json)打到前台日期格式混乱的问题的总结 import java.text.SimpleDateFormat;import net.sf.j ...

  2. JSON 日期格式问题 /Date(1325696521000)/

    json返回的日期格式/Date(1325696521000)/,怎么办? Controller返回的是JsonResult对象就会导致出现这样的格式: /Date(1325696521000)/ p ...

  3. .Net Core WebApi返回的json数据,自定义日期格式

    基本上所有的人都在DateTime类型的字段,被序列化成json的时候,遇到过可恨的Date(1294499956278+0800):但是又苦于不能全局格式化设置,比较难受.以往的方式,要么使用全局的 ...

  4. ASP.Net Core 返回的json数据,自定义日期格式

    //代码位置:Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddMvc() .Ad ...

  5. json-lib date对象转json ,加入自定义日期格式处理

    import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValu ...

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

    Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @ ...

  7. miniui datagrid 保存到服务端,使用.NET 自带 JSON 转换时发现日期格式不兼容。

    使用 miniui datagrid 修改表格后,保存到服务端,然后使用 .NET 自带 JSON 转换,会抛出DateTime 内容“2015-12-27T11:02:28”未按 JSON 的要求以 ...

  8. 将json返回的日期格式转换

    <script>         function ChangeDateFormat(cellval) {             var date = new Date(parseInt ...

  9. 处理Json数据中的日期类型.如/Date(1415169703000)/格式

    在asp.net mvc后台返回到视图中的json数据中想对数据进行操作,发现日期类型无法直接进行操作,需要转换为指定格式才行.在网上也搜了下方法也很多,觉得有点麻烦,最终使用正则搞定了,分享下: v ...

随机推荐

  1. vue 学习笔记

    使用vue框架做了一个项目,在这个过程中,摸索学习了vue,把过程学习到技术整理放在这里,供以后查看.

  2. SQL Server 2008中的代码安全<转>

    一:存储过程加密与安全上下文 二:DDL触发器与登录触发器 三:通过PassPhrase加密 四:主密钥 五:非对称密钥加密 六:对称密钥加密 七:证书加密 八:透明加密(TDE) 将 TDE 保护的 ...

  3. 代码-->发呆

    代码,敲着敲着,就发呆了. 其实安安静静敲代码,是一种享受.开着不快不慢的音乐,徜徉在代码的世界里,忘记了时间的存在. 原本备忘录中提醒我13点看书,一小时又一小时的延后,已经不记得自己按了多少次一小 ...

  4. Python之路第一课Day11--随堂笔记(异步IO\数据库\队列\缓存之二)

    一.RabbitMQ队列 1.安装: a.官网: 安装 http://www.rabbitmq.com/install-standalone-mac.html b.安装python rabbitMQ ...

  5. apache rewrite_mod 经典疑问解答

    1.RewriteRule ^(com\/.*)$ index.php?do=$1 问:上面的规则匹配表达式 "^(.*)$" 匹配的内容是什么 答:匹配内容是URI站点目录:/d ...

  6. System.Web.HttpContext.Current.Session为NULL解决方法

    http://www.cnblogs.com/tianguook/archive/2010/09/27/1836988.html 自定义 HTTP 处理程序,从IHttpHandler继承,在写Sys ...

  7. 【转】Polya定理

    转自:http://endlesscount.blog.163.com/blog/static/82119787201221324524202/ Polya定理 首先记Sn为有前n个正整数组成的集合, ...

  8. CentOS6.4安装JDK1.7

    安装说明 1.安装环境: CentOS6.4 64位系统 2.安装方式:rpm安装 3.软 件 包:jdk-7u71-linux-x64.rpm 4.下载地址:http://www.oracle.co ...

  9. Linq 那些事儿

    今天突然好奇当linq进行循环遍历的时候,如果满足条件的时候还会不会继续循环剩余的数据,做了个小实验. 首先看看上代码 这个是测试的类 public class TestLinq { int _Num ...

  10. python获取当前时间的用法

    1.先导入库:import datetime 2.获取当前日期和时间:now_time = datetime.datetime.now() 3.格式化成我们想要的日期:strftime() 比如:“2 ...