Я пробовал несколько методов, но я не знаю почему, но меня это смущает.
Модель:
public class SearchViewModel
{
[DisplayName("Date from:")]
//[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{dd.MM.yyyy}")]
public DateTime? DateFrom { get; set; }
[DisplayName("Date to:")]
public DateTime? DateTo { get; set; }
}
Просмотр:
@using (Html.BeginForm("SearchResult", "Search", FormMethod.Get, new { @id = "searchForDate" }))
{
<div id="criterias">
@Html.LabelFor(m => m.DateFrom)
@Html.EditorFor(m => m.DateFrom, new { htmlAttributes = new { @class = "searchinput datepicker" } })
@Html.LabelFor(m => m.DateTo)
@Html.EditorFor(m => m.DateTo, new { htmlAttributes = new { @class = "searchinput datepicker" } })
</div>
<button type="submit" class="btn btn-danger" style="background-color:#991821; margin-top:15px;" id="search">Search</button>
}
Проблема:
Datepicker работает отлично.Когда я загружаю страницу, я нажимаю на поле EditorFor DateFrom
и выбираю дату, скажем, 02.01.2019 (2 января 2019 года).Когда я нажимаю на «Отправить», он запускает действие контроллера.
В действии контроллера model.DateFrom
меняет день и месяц.Это означает, что это внезапно 01.02.2019 (2 февраля), что совершенно неверно.Когда я выбираю день выше 12
, model.DateFrom
недействителен.
Я пробовал следующие вещи:
- Вставьте
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{dd.MM.yyyy}")]
в модель - добавил
<system.web>
<globalization uiCulture="de-DE" culture="de-DE" /></system.web>
в мой Web.config
- добавил атрибут Internationalization ->
CurrentCulture
и CurrentUICulture
в контроллере - попытался изменить
EditorFor
до TextboxFor
несколькиминастройки: см. Дата только из TextBoxFor ()
Я также сталкивался с этой статьей: MVC DateTime привязка с неправильным форматом даты но, к сожалению, я знаю, как этоэто не хорошо.
Я не знаю, почему это происходит, и более важно, ГДЕ это происходит?Я установил свою точку останова в классе интернационализации, поставил bp под действием SearchController
.ничего не помогаетКогда я нажимаю кнопку отправки, день и месяц изменяют позицию ...