Формат даты и времени в asp.net mvc 4

Как я могу принудительно использовать формат даты и времени в asp.net mvc 4? В режиме отображения он отображается так, как я хочу, а в модели редактирования - нет. Я использую displayfor и editorfor и applyformatineditmode=true с dataformatstring="{0 :dd/MM/yyyy}" Что я пробовал:

  • глобализация в web.config (оба )с моей культурой и культурой.
  • изменение культуры и культуры в приложении _запуск()
  • пользовательский связыватель моделей для даты и времени

Я понятия не имею, как это сделать, и мне нужно ввести дату как дд/мм/гггг, а не по умолчанию.

ПОДРОБНЕЕ :моя модель просмотра такая

    [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 ()(. здесь много примеров, как это сделать)


Для всех, кто будет читать этот вопрос :Кажется, что ответ Дарина Димитрова будет работать, пока у меня нет проверки клиента. Другой подход заключается в использовании пользовательской проверки, включая проверку на стороне клиента. Я рад, что узнал об этом до воссоздания всего приложения.

56
задан casperOne 3 July 2012 в 11:47
поделиться