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

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

在我的 MVC4 项目中,我使用带有 jQ​​uery 日期选择器的文本框。我已将两者格式化为使用 dd-MM-yyyy 格式。然后代表搜索操作,我使用了由我的 Controller 处理的 ajax GET 操作。处理方法使用 ViewModel 作为输入。在调试此 GET 操作的结果时,我注意到日期是以 MM-dd-yyyy 格式处理的。但是,当我使用 POST 操作时,会按我的意愿在 dd-MM-yyyy 中接收日期。

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

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

所以没有区别。然后我转到我的 Controller 中的操作处理程序方法,并观察来自 ViewModel 输入的结果。

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

所以这几乎让我认为 MVC 解析 DateTimes 是 GET 和 POST。我在这里缺少什么?

最佳答案

So this almost makes me think that MVC parses DateTimes different on being a GET and POST. What am I missing here?

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

关于c# - MVC 是否在 ajax GET 和 POST 操作中以不同方式解析 DateTime 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19953454/

相关文章:

c# - 使用字符串作为锁定对象是否可以?

c# - 为什么我们不允许在接口(interface)中指定构造函数?

javascript - 如何使用 jQuery Accordion 创建 div

jquery - 边框半径不适用于 IE,我使用什么库或 css hack

php - 我的内容管理系统

c# - HashAlgorithm.ComputeHash() 是有状态的吗?

c# - Java 和 Windows 之间使用的软件架构风格的建议

javascript - 我应该如何构建一个带有可填充 block 的简单 4x4 表

php - 单击时使用 PHP 生成的表行的 ID 更新 AJAX 请求变量

javascript - 将 2 个 api 响应的结果合并到一个 JavaScript 数组中