Jquery Asp.net MVC和JSON日期格式异常-值'/日期(251071200000)/x27;对于出生日期无效
我在将JSON对象发回Asp.net MVC时遇到以下异常:Jquery Asp.net MVC和JSON日期格式异常-值'/日期(251071200000)/x27;对于出生日期无效,jquery,asp.net-mvc,json,datetime,Jquery,Asp.net Mvc,Json,Datetime,我在将JSON对象发回Asp.net MVC时遇到以下异常: "The value '/Date(251071200000)/' is not valid for Date Of Birth." 在Firebug中,肯定有一个值被发回,所以我假设模型绑定中存在一些问题。如果我跟踪DateOfBirth属性的set部分,“value”为null 设置是 具有DateOfBirth属性的C#POCO对象,如下所示: public DateTime? DateOfBirth {
"The value '/Date(251071200000)/' is not valid for Date Of Birth."
在Firebug中,肯定有一个值被发回,所以我假设模型绑定中存在一些问题。如果我跟踪DateOfBirth属性的set部分,“value”为null
设置是 具有DateOfBirth属性的C#POCO对象,如下所示:
public DateTime? DateOfBirth
{
get
{
return ClientDto.Contact.DateOfBirth;
}
set
{
ClientDto.Contact.DateOfBirth = value;
}
}
$.ajax({
url: this.editForm.prop("action"),
data: kendo.stringify(copy), //can be replaced with JSON.stringify
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (args)
{
//done
}
});
控制器操作将JSON数据发送到调用AJAX函数,如下所示(注意:我们在这里尝试了两个选项):
备选案文1:
/*...extract and initialize a profile object...*/
return Json(profile, JsonRequestBehavior.AllowGet);
备选案文2:
/*...extract and initialize a profile object...*/
return Json(new JavaScriptSerializer().Serialize(profile), JsonRequestBehavior.AllowGet);
我们从客户端发回JSON数据,如下所示:
public DateTime? DateOfBirth
{
get
{
return ClientDto.Contact.DateOfBirth;
}
set
{
ClientDto.Contact.DateOfBirth = value;
}
}
$.ajax({
url: this.editForm.prop("action"),
data: kendo.stringify(copy), //can be replaced with JSON.stringify
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (args)
{
//done
}
});
我对这个问题不是很清楚,但假设您确实获得了一个值返回到MVC,并且,如果错误与JSON日期格式相关,即“/date(251071200000)/”,那么我也有同样的问题 基本上,您传递的是日期的JSON格式。您需要将日期(在客户端或服务器上)转换为正确的日期格式 我使用下面的函数将“/Date(210355200000)/”转换为“1/9/1976”
function fromJsonToJavaScriptDate(value) {
var pattern = /Date\(([^)]+)\)/;
var results = pattern.exec(value);
var dt = new Date(parseFloat(results[1]));
return dt.getDate() + "/" + (dt.getMonth() + 1) + "/" + dt.getFullYear();}
您可以在客户端上使用此功能,如
$dob = fromJsonToJavaScriptDate([your date value])
您可以找到在服务器上转换此json日期格式的方法,如下链接所述
我希望这有帮助