在ajax GET和POST操作中,MVC是否以不同方式解析DateTime对象?

Hut*_*wer 3 c# ajax asp.net-mvc jquery datetime

在我的MVC4项目中,我使用带有jQuery datepicker的TextBox.我已经格式化使用dd-MM-yyyy格式.然后代表搜索动作,我使用了一个由我的控制器处理的ajax GET动作.处理方法使用ViewModel作为输入.在调试此GET操作的结果时我注意到的是,日期是以MM-dd-yyyy格式处理的.但是,当我使用POST操作时,dd-MM-yyyy会按照我的意愿收到日期.

我使用Fiddler查看实际发送的内容并看到以下内容:

GET - > MyDate = 04-11-2013(在网址中)POST - > MyDate = 04-11-2013(在正文中)

所以没有区别.然后我在我的控制器中转到我的动作处理程序方法,并从ViewModel输入中查看结果.

GET - > viewModel.MyDate显示11-04-2013 POST - > viewModel.MyDate给出04-11-2013

所以这几乎让我觉得MVC在GET和POST上解析DateTimes不同.我在这里错过了什么?

Dar*_*rov 7

所以这几乎让我觉得MVC在GET和POST上解析DateTimes不同.我在这里错过了什么?

你没有遗漏任何东西.情况确实如此.在GET中,日期总是以形式出现,yyyy-MM-dd而对于POST,则考虑当前的文化.你可以在这里阅读更多相关信息:http://weblogs.asp.net/melvynharbour/archive/2008/11/21/mvc-modelbinder-and-localization.aspx