我正在尝试做一个非常简单的任务:获取一个 MVC 模型,并将其作为 JSON 发送回服务器。我试过了
@Html.Raw(Json.Encode(Model));
在调试 JS 时,我看到序列化 JSON 上的日期对象如下所示:/date (00064321)/
当将序列化 JSON 传递给服务器时,服务器端的日期为空。任何人都明白发生了什么?
我正在尝试做一个非常简单的任务:获取一个 MVC 模型,并将其作为 JSON 发送回服务器。我试过了
@Html.Raw(Json.Encode(Model));
在调试 JS 时,我看到序列化 JSON 上的日期对象如下所示:/date (00064321)/
当将序列化 JSON 传递给服务器时,服务器端的日期为空。任何人都明白发生了什么?
您必须创建一个匿名对象,将日期时间属性转换为字符串,而不是直接对模型进行 JSON 编码。
前任。
var meeting = new Meeting
{
Name = "Project Updates",
StartDateTime = DateTime.Now
};
直接传递模型..
@Html.Raw(Json.Encode(meeting))
生产
{"Name":"Project Updates","StartDateTime":"\/Date(1338381576306)\/"}
和
@Html.Raw(Json.Encode(new {
Name = meeting.Name,
StartDateTime = meeting.StartDateTime.ToString()
}))
生产
{"Name":"Project Updates","StartDateTime":"5/30/2012 6:09:36 PM"}
正如预期的那样。