0

私は非常に単純なタスクを実行しようとしています。MVCモデルを取得し、それをJSONとしてサーバーに送り返します。私は試した

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

JSをデバッグすると、シリアル化されたJSONの日付オブジェクトは次のよう/date (00064321)/になります。シリアル化されたJSONをサーバーに渡すと、サーバー側で日付がnullになります。誰もが何が起こっているのか理解していますか?

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 に答える