日期格式未保留在jquery帖子中

use*_*358 0 asp.net-mvc jquery asp.net-mvc-4

在VS2010中开发的MVC 4项目中,我有一个屏幕,其中有一个下拉菜单,其中显示文本的日期显示为dd-MMM-yyyy,其基础值为dd-mm-yyyy。

在发布数据的函数中,当我发出警报时,可以看到所选值在dd-mm-yyy中。

  alert($("#dropdwn_BirthDateVal").val());
Run Code Online (Sandbox Code Playgroud)

上面的这一行以dd-mm-yyyy格式显示我的日期。

但是,当我尝试将该值发布到控制器时,使用相同的方法

  $.ajax({
            type: "POST",
            url:"@Url.Content("~/Home/GetUserDetails")",
            async:false,
            dataType: "JSON",
            data: {
                 //.....other string and integer values
                 //.....that go thru properly
                "myDto.DOB":  $("#dropdwn_BirthDateVal").val()
            },
            error: function (error) {
                alert(error);

           },

           ..... remaining code here 
Run Code Online (Sandbox Code Playgroud)

...日期是 1/1/0001 12:00:00 AM

我发布到“ GetUserDetails”的控制器操作有一个称为UserVM的ViewModel类作为其参数。UserVM具有一个称为MyDto的dto类。MyDto中有一个名为DOB的Date属性,其类型为DateTime。MyDto也具有其他属性。字符串和整数值正确通过。

我想念什么?

Jas*_*son 5

将日期发送到服务器时,需要将日期格式设置为ISO-8601,例如 2011-12-19T15:28:46.493Z

这个类似问题的答案显示了实现此目的的多种方法,我最喜欢的是JSON.parse(JSON.stringify(new Date()))但不支持IE7。