我正在尝试执行一项非常简单的任务:获取MVC模型,并将其作为JSON发送回服务器。我试过了
@Html.Raw(Json.Encode(Model));
调试JS时,我看到序列化JSON上的日期对象看起来像:/date (00064321)/
,当将序列化的JSON传递给服务器时,服务器端的日期为空。任何人都能理解发生了什么?
答案 0 :(得分:5)
不是直接对模型进行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"}
正如所料。