2012-05-30 4 views
0

Я пытаюсь выполнить очень простую задачу: получить модель MVC и отправить ее на сервер как JSON. Я попыталсяСериализовать модель MVC для JSON

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

При отладке JS, я вижу, что дата объекты на сериализованном JSON выглядеть следующим образом: /date (00064321)/ и при прохождении сериализированной JSON на сервер, даты являются недействительными на стороне сервера. Кто-нибудь понимает, что происходит?

+0

Опубликуйте свой код ajax и метод действий, чтобы мы могли видеть, что происходит –

ответ

5

Вместо JSON, кодирующего модель, вы должны создать анонимный объект, преобразующий свойства даты и времени в строки.

Ex.

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

как ожидалось.

Смежные вопросы