asp.net mvc 中控制器接收 前端传来的时间格式的字符串解析问题

1.项目中的表的修改时候遇到的问题。

 

 

public JsonResult EditSave(T_ProductClass entity)
{

return Json(new { success = result}, JsonRequestBehavior.AllowGet);
}

2.T_ProductClass表中有一个时间字段DateTime,编辑这个表的时候会先从服务端取到值,是用jsonResult返回的,结果是/Date(-62135596800000)/

3.但是我以这样的值重新提交到服务器的时候这个值就解析不了,由于DateTime是值类型,就直接默认是最小值了,然后传到数据库就报错了。

 {"从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值。\r\n语句已终止。"} 
4.之前的项目都是使用DateTime?,因而没有值就会是null,就不会传到数据库。今天发现这个问题,查了半天。。。
 
总结:DateTime和DateTime?类型,如果前台不传值或者传的是错误的值的时候,DateTime会是一个默认的时间的最小值,DateTime?则为null。
         从服务端返回的时间的值/Date(-62135596800000)/回传到服务器是不会自动解析的。
posted @ 2016-05-25 22:55  油腻程序员  阅读(408)  评论(0编辑  收藏  举报