0

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

 @Html.Raw(Json.Encode(Model));

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

4

1 回答 1

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"} 

正如预期的那样。

于 2012-05-30T12:32:08.533 回答