kendo datepickerforを使用してASP.NET MVC 5のビューからコントローラに日付を渡しています。問題は、kendo datepickerforがデフォルトの日付、つまり - 1/1/0001 12:00:00 AMをコントローラに渡していて、選択した日付を渡していないことです。剣道DatePickerForから日付をAjax.BeginForm()でモデルに渡す
モデル(Bill.cs)
public DateTime BillTransactionDate { get; set; }
ビュー(Bill.cshtml)
@using (Ajax.BeginForm("_SaveManualBillUpload", "Bill",null, new AjaxOptions { OnBegin = "return OnBillTransBegin()", HttpMethod = "POST", OnSuccess = "OnBillTranSuccess" }, new { @id = "frmBillTransaction" }))
{
@(Html.Kendo().DatePickerFor(m => m.BillTransactionDate).Format("MM/dd/yyyy").HtmlAttributes(new {data_toggle = "tooltip",
data_placement = "bottom", data_trigger = "focus", title = MW.Resource.Resources.HelpTransactionDate })
)}
BillController
public ActionResult _SaveManualBillUpload(BillTransactionDetail TransactionDetailModel)
{}
ここTransactionDetailModelで、私は剣道datepickerforのデフォルト値を取得しています剣道の日付選択の代わりに日付を指定します。私が12未満の日付を選択すると、適切な日付が選択されますが、12より大きい日付の場合、剣道は 1/1/0001として日付を渡しています。間違いを指摘してもらえますか? KendoErrorImage
いいえ、何も渡されていないことを意味します(プロパティはデフォルト値に初期化されます) –
@StephenMuecke 12より小さい日付を選択すると、適切な日付が渡されますが、 12の場合、デフォルト値を渡しており、** ModelState.IsValid **はfalseです。 ** '11/30/2016 'という値はBillTransactionDate **には無効です。日付の書式に問題があるようです。 –
あなたのサーバー上のカルチャは、剣道のオプションで指定した形式( 'MM/dd/yyyy')と一致しません。あなたのサーバーの文化は 'dd/MM/yyy'だと思います。 –