2016-11-01 5 views
0

Я передаю дату из представления в контроллер ASP.NET MVC 5, используя kendo datepickerfor. Проблема в том, что kendo datepickerfor передает дату по умолчанию i.e: - 1/1/0001 12:00:00 AM для контроллера и не передает выбранную дату.Дата передачи от Kendo DatePickerДля моделирования модели с Ajax.BeginForm()

Модель (Bill.cs)

public DateTime BillTransactionDate { get; set; } 

View (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 вместо выбранной даты из кендо datepickerfor. Если я выбираю дату менее 12, то я получаю надлежащую выбранную дату, но для дат, превышающих 12, кендо передает дату как 1/1/0001 на контроллер. Может кто-нибудь указать на ошибку? KendoErrorImage

+0

Нет, это означает, что ничего не передается (и свойство инициализируется значением по умолчанию) –

+0

@StephenMuecke Если я выбираю дату менее 12, то она передает правильную дату, но если я пропущу дату больше, чем 12, то он передает значение по умолчанию и ** ModelState.IsValid ** является ложным. Я получаю следующую ошибку: ** Значение «11/30/2016» недействительно для BillTransactionDate **. Кажется, что проблема связана с форматом даты. –

+0

Затем культура на вашем сервере не соответствует формату, указанному в параметрах Kendo ('MM/dd/yyyy'). Я предполагаю, что ваша культура сервера 'dd/MM/yyy' –

ответ

0

Наконец-то я получил свой ответ, если у кого-то есть подобные проблемы. Просто установите дату культуры, где вы заполняете свою модель от кендо datepicker в контроллере.

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

Надеюсь, это поможет!

 Смежные вопросы

  • Нет связанных вопросов^_^