将MVC模型序列化为JSON

Avi*_*Avi 0 javascript asp.net json asp.net-mvc-3

我正在尝试做一个非常简单的任务:获取MVC模型,并将其作为JSON发送回服务器.我试过了

 @Html.Raw(Json.Encode(Model));
Run Code Online (Sandbox Code Playgroud)

在调试JS时,我看到序列化JSON上的日期对象如下所示:/date (00064321)/当将序列化的JSON传递给服务器时,服务器端的日期为空.任何人都明白发生了什么?

VJA*_*JAI 5

而不是直接对模型进行JSON编码,您必须创建一个匿名对象,将日期时间属性转换为字符串.

防爆.

var meeting = new Meeting 
              { 
                  Name = "Project Updates", 
                  StartDateTime = DateTime.Now 
              }; 
Run Code Online (Sandbox Code Playgroud)

直接传递模型..

@Html.Raw(Json.Encode(meeting))
Run Code Online (Sandbox Code Playgroud)

产生

{"Name":"Project Updates","StartDateTime":"\/Date(1338381576306)\/"} 
Run Code Online (Sandbox Code Playgroud)

@Html.Raw(Json.Encode(new { 
                  Name = meeting.Name, 
                   StartDateTime = meeting.StartDateTime.ToString()
}))
Run Code Online (Sandbox Code Playgroud)

产生

{"Name":"Project Updates","StartDateTime":"5/30/2012 6:09:36 PM"} 
Run Code Online (Sandbox Code Playgroud)

正如所料.