Как я могу принудительно использовать формат даты и времени в asp.net mvc 4? В режиме отображения он отображается так, как я хочу, а в модели редактирования - нет. Я использую displayfor и editorfor и applyformatineditmode=true с dataformatstring="{0 :dd/MM/yyyy}" Что я пробовал:
Я понятия не имею, как это сделать, и мне нужно ввести дату как дд/мм/гггг, а не по умолчанию.
ПОДРОБНЕЕ :моя модель просмотра такая
[DisplayName("date of birth")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Birth { get; set; }
в представлении я использую @Html.DisplayFor(m=>m.Birth)
, но это работает так, как ожидалось (я вижу форматирование )и для ввода даты я использую @Html.EditorFor(m=>m.Birth)
, но если я попытаюсь ввести что-то вроде 13/12/2000, произойдет сбой с ошибкой, что это недопустимая дата (13/12/2000 и 2000/12/13 работает как положено, но мне нужно dd/MM/yyyy ).
Кастомный связыватель модели вызывается в приложении _start ()b/c не знаю где еще.
Используя <globalization/>
, я пытался использовать culture="ro-RO", uiCulture="ro"
и другие культуры, которые давали мне дд/мм/гггг. Я также пытался установить его для каждого потока в приложении _start ()(. здесь много примеров, как это сделать)
Для всех, кто будет читать этот вопрос :Кажется, что ответ Дарина Димитрова будет работать, пока у меня нет проверки клиента. Другой подход заключается в использовании пользовательской проверки, включая проверку на стороне клиента. Я рад, что узнал об этом до воссоздания всего приложения.