私の MVC4 プロジェクトでは、jQuery 日付ピッカーで TextBox を使用しています。dd-MM-yyyy 形式を使用するように両方をフォーマットしました。次に、検索アクションの代わりに、コントローラーによって処理される ajax GET アクションを使用しました。処理メソッドは、ViewModel を入力として使用します。この GET アクションの結果をデバッグするときに気付いたのは、日付が MM-dd-yyyy 形式で処理されていることです。ただし、POST アクションを使用すると、希望どおりに日付が dd-MM-yyyy で受信されます。
Fiddler を使用して、実際に送信されているものを確認したところ、次のことがわかりました。
GET -> MyDate=04-11-2013 (URL 内) POST -> MyDate=04-11-2013 (本文内)
だからそこに違いはありません。次に、コントローラーのアクション ハンドラー メソッドに移動し、ViewModel 入力からの結果を確認しました。
GET -> viewModel.MyDate は 11-04-2013 を示します POST -> viewModel.MyDate は 04-11-2013 を返します
したがって、これは、MVC が GET と POST で異なる DateTimes を解析していると思わせます。ここで何が欠けていますか?