Как стать автором
Обновить

Комментарии 5

Ещё можно было бы написать про EditorTemplates. Через них было бы удобнее сделать.
Хорошо. А если потребуется получить дату из этого поля в каком-то экшене?

Например:

[HttpPost]
public ActionResult MyAction(DateTime exampleDateTime) {… }

В каком формате model binder по умолчанию ожидает увидеть дату? (это я не знаю, спрашиваю у вас)

+ от меня дополнение:

Если мы захотим показывать дату в полях вводе не как «20.05.2011» а как «Понедельник 20 мая 2011», то скорее всего потребуется указать параметры датапикера altFormat и altField чтобы model binder принял нашу дату независимо от ее представления.
Про форматы верно подметили (про altField и altFormat).

На серверной же стороне обычно делается так:
— Создается DateTimeModelBinder, который покрывает либо какой-то стандартный вариант («dd/MM/yy»), либо определяемый, используя заданный «CultureInfo». Насчет стандартного DefaultModelBinder — я не уверен в том, что именно он ожидает от даты.

— Внутри этого ModelBinder'а происходит что-то вроде этого:
DateTime.TryParse(sourceDateTime, CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDateTime);
Ладно хоть скриншот есть, а то первая команда написана неправильно
спасибо, fixed
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации