我将DateTime值作为String通过AJAX POST发布到MVC Action以保存此值。
但是在MVC Action中保存值时,我在My AJAX响应中收到错误消息:
将datetime2数据类型转换为日期时间数据类型会导致超出范围的值
我的AJAX POST是,
String dateTime="2013-07-25 11:59:22 PM";
$.ajax({
type:'POST',
url:'SaveSchedule',
data:{start:dateTime},
success:function(data){ }
});
和MVC Action as,
[HttpPost]
public ActionResult SaveSchedule(DateTime start)
{
var schedule = new Schedule { StartTime = start};
db.Schedules.Add(schedule);
db.SaveChanges();
var temp = 0;
return Json(temp);
}
答案 0 :(得分:2)
在使用ajax函数时,您应该小心,因为它们是客户端函数,因此您应该在控制器中对declere字符串类型参数进行decalre,并且在操作中使用C#的tryparse方法将它们转换为所需的数据类型。 在字符串参数中获取日期之后,您将使用datetime.tryparse方法将字符串中的日期转换为datetime数据类型,然后在使用ajax时永远不会出现此类错误。