【问题标题】:Is MVC parsing DateTime objects differently in ajax GET and POST actions?MVC 在 ajax GET 和 POST 操作中是否以不同方式解析 DateTime 对象?
【发布时间】:2013-11-26 00:50:23
【问题描述】:

在我的 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 解析 DateTimes 在 GET 和 POST 上是不同的。我在这里错过了什么?

【问题讨论】:

    标签: c# jquery ajax asp.net-mvc datetime


    【解决方案1】:

    所以这几乎让我认为 MVC 解析 DateTimes 不同 作为 GET 和 POST。我在这里错过了什么?

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

    【讨论】:

    • 你的回答让我有点吃惊,但链接是值得阅读的优质内容,并让我相信情况就是这样(更重要的是,为什么会这样)。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2017-03-20
    • 2014-09-13
    • 2014-02-14
    • 2016-08-07
    相关资源
    最近更新 更多