2016-07-14 11 views
1

Ich benutze KendoDatePicker, ich benutze dies überall in meiner Anwendung. Allerdings habe ich plötzlich ein Problem damit, Daten im falschen Format zu übermitteln.Kendo Date Picker - Falsches Datumsformat an Controller übergeben

@(Html.Kendo().DatePicker() 
      .Name("ToDate") 
      .Min(DateTime.Today.AddYears(-1)) //Set the min date of the DatePicker. 
      .Max(DateTime.Today) //Set the min date of the DatePicker. 
      .Value(DateTime.Today.ToString("dd/MM/yyyy")) // I have also just set DateTime.Today, without formating as string 

)

Ich verwende die folgende JS-Funktion das Datum aus dem Datumsauswahl abzurufen:

function getDatePickerValue() { 
var toDate= $("#ToDate").val(); 
    return { 
      transactionToDate: toDate 
     } 
} 

ich diesen Wert auf mein Controller dann übergeben, die das Datum nimmt und filtert ein Gitter. Dies ist, was übergeben wird (wie in meinem Netzwerk-Debugger zu sehen): transactionToDate: "2016.01.04"

Dies ist meine Controller-Methode

public JsonResult GetCustomerElectronicTransactions([DataSourceRequest] DataSourceRequest request, DateTime? transactionToDate){} 

Mein Controller erkennt das Datum als MM/TT/JJJJ, aber es tatsächlich als DD/MM/JJJJ übergeben, so was passiert ist, dass meine Monate und Tage werden gewechselt, wenn bestanden.

Hat jemand einen Vorschlag? Ich verstehe nicht, warum mir das plötzlich ein Problem bereitet, ich habe dieses genaue Setup in anderen Controllern/Ansichten ohne ein Problem verwendet.

Gedanken?

+0

vielleicht ist Kultur nicht richtig eingestellt oder wurde irgendwo vermasselt. Sie könnten versuchen, diese Zeile zu web.confog '' hinzuzufügen –

Antwort

0

Die Probleme hatten damit zu tun, wie ich den Wert des Datepicker in JS bekam.
I geändert:

function getDatePickerValue() { 
var toDate= $("#ToDate").val(); 
    return { 
      transactionToDate: toDate 
     } 
} 

An:

function getDatePickerValue() { 
var toDate= $("#ToDate").data("kendoDatePicker").value(); 
    return { 
      transactionToDate: toDate 
     } 
}