<form class="SecForms" action="@Url.Content("~/Credit/GenerateStatement")" method="post" id="credit_form">
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.HiddenFor(o => o.PracticeId)
<div class="setup-content" id="purchasing">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label col-sm-5">Start Date</label>
<div class="col-sm-7 input-group">
@Html.Kendo().DatePickerFor(m => m.StartDate)
.Format("dd-MM-yyyy").Culture("en-GB")
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-5">End Date</label>
<div class="col-sm-7 input-group">
@Html.Kendo().DatePickerFor(m => m.EndDate)
.Format("dd-MM-yyyy").Culture("en-GB")
</div>
</div>
</div>
</div>
<div class="BDuttonBar">
<div class="BButtRightOptom">
<button type="submit" class="btn btn-success lyprocess" type="submit" onclick="document.getElementById('spinny').style.display = 'block';">Generate</button>
<i class="fa fa-circle-o-notch" fa-spin loadingSpinner" id="spinny" style="font-size:24px;float:right;display:none;"></i>
</div>
</div>
</div>
</form>
Несмотря на то, что он явно установил формат для DatePickers, он все еще пытается вывести с датами, отформатированными как 2019-30-09
(для 30 сентября). Если выбрана дата, подобная этой, и я подозреваю, что любая дата с днем месяца больше 12, форма не будет отправлена.
Я пытался установить Culture = ...
в верхней части страницы. согласно официальному руководству по глобализации Telerik DatePicker , но это ни на йоту не изменило.
В качестве обходного пути (см. ниже) я перешел и переформатировал даты в ACTUAL Значения DateTime, но, как уже упоминалось ранее, невозможность отправить форму для выбора конкретных дат остается проблемой.
[HttpPost]
public ActionResult GenerateStatement(GenerateStatementViewModel model)
{
if (ModelState.IsValid)
{
// Recreate the datetimes from the inputs because everything is stupid and nothing formats properly.
var startDate = new DateTime(model.StartDate.Year, model.StartDate.Day, model.StartDate.Month);
var endDate = new DateTime(model.EndDate.Year, model.EndDate.Day, model.EndDate.Month);
// Continue work processing the form.
}
}
Я не знаю, что еще можно попробовать. Как мне заставить эту нелепую ерунду Telerik работать на самом деле, как указано?
Когда я проверяю информацию для Kendo.Mvc.dll
, она показывает, что Версия - 2019.1.115.440 (часть Kendo Web Extensions для ASP.NET MVC в Telerik 2019R1 suite)