1

私は KendoDatePicker を使用しています。アプリケーション全体でこれを使用しています。しかし、突然間違った形式で日付を渡すという問題が発生しています。

  @(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

)

次の JS 関数を使用して、日付ピッカーから日付を取得します。

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

次に、この値をコントローラーに渡します。コントローラーは日付を取得し、グリッドをフィルター処理します。これは渡されるものです (私のネットワーク デバッガーで見られるように): transactionToDate:"01/04/2016"

これは私のコントローラーメソッドです

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

私のコントローラーは日付をMM/DD/YYYYとして認識していますが、実際にはDD/MM/YYYYとして渡されているため、渡されたときに月と日が切り替わっています。

誰か提案はありますか?これが突然問題になる理由がわかりません。他のコントローラー/ビューでこの正確な設定を問題なく使用しました。

考え?

4

1 に答える 1

0

問題は、JS で日付ピッカーの値を取得する方法に関係していました。
私が変更され :

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

に:

function getDatePickerValue() {
 var toDate= $("#ToDate").data("kendoDatePicker").value();
   return {
            transactionToDate: toDate
        }
}
于 2016-07-14T18:13:32.840 に答える