3

在我的 MVC4 项目中,我使用带有 jQ​​uery 日期选择器的 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 是不同的。我在这里想念什么?

4

1 回答 1

7

所以这几乎让我认为 MVC 在 GET 和 POST 上解析 DateTimes 是不同的。我在这里想念什么?

你没有错过任何东西。情况正是如此。在 GET 中,日期始终应采用格式yyyy-MM-dd,而对于 POST,则考虑当前的文化。您可以在此处阅读有关此内容的更多信息:http ://weblogs.asp.net/melvynharbour/archive/2008/11/21/mvc-modelbinder-and-localization.aspx

于 2013-11-13T12:16:08.460 回答