c# – MVC在ajax GET和POST操作中解析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不同.我在这里错过了什么?

解决方法

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

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...