将日期从Kendo DatePickerFor传递给使用Ajax.BeginForm()的模型

时间:2016-11-01 10:01:08

标签: asp.net-mvc kendo-asp.net-mvc

我使用kendo datepickerfor将日期从视图传递到ASP.NET MVC 5中的控制器。问题是,kendo datepickerfor传递默认日期,即: - 1/1/0001 12:00:00 AM到控制器,而不是通过所选日期。

模型(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中,我获取了kendo datepickerfor的默认值,而不是kendo datepickerfor中的选定日期。如果我选择的日期小于12,那么我会得到正确的选定日期,但是对于大于12的日期,剑道会将日期作为日期 1/1/0001到控制器。任何人都可以指出错误吗? KendoErrorImage

1 个答案:

答案 0 :(得分:0)

最后,我得到了答案,如果有人有类似的问题。 只需设置一个日期文化,您可以从控制器中的kendo datepicker填充模型。

Thread.CurrentThread.CurrentCulture= System.Globalization.CultureInfo.GetCultureInfo("en-us");

希望它有所帮助!