datepicker在控制器返回错误的dateformat(mm / dd / yyyy)

时间:2014-11-03 10:40:25

标签: c# jquery asp.net-mvc

在mvc应用程序中我使用了datepicker并且有代码

 $("#StartDate").datepicker({
            changeMonth: true,
            changeYear: true,
            dateFormat: 'dd/mm/yy',
            dateonly: true,
        });

 $("#StartDate").datepicker('option', 'dateFormat', 'dd/mm/yy');

点击事件

function SearchFine() {
        var StartDate = $("#StartDate").val();
        var EndDate = $("#EndDate").val();

        var pathName = window.location.pathname;
        var virtualdir = pathName.split('/');
        var directory = "/" + virtualdir[1] + "/ManageLibrary/ManageReports/FineCollectionsReportByDate?StartDate=" + StartDate + "&&EndDate=" + EndDate;

        location.href = directory;
    }

但我正在考虑mm / dd / yyyy格式

谢谢。

1 个答案:

答案 0 :(得分:1)

您的问题的可能解决方案是:

  • 使用例如Firebug验证是否将正确的值发送到服务器。
  • 您是否在web.config中设置了正确的本地化?
  • 请注意,当您执行GET请求时,ASP MVC会使用InvariantUICulture,因此11/03/2010将成为11月3日。您可以通过发送日期为2010年12月31日的{{1}来测试将等于DateTime,因为它无法解析为mm / dd / yyyy。对于POST请求,当前线程的本地化用于解析日期字符串。
    • 解决方案:将日期作为字符串发送,并解析为default(DateTime)中的DateTime