#asp.net-mvc #datetime
#asp.net-mvc #дата и время
Вопрос:
Всякий раз, когда я пытаюсь обновить объект, у которого есть зарегистрированное поле даты, это значение передается в модели
{01/01/0001 00:00:00}
Это происходит даже тогда, когда я добавляю
<%: Html.EditorFor(model => model.RegisteredDate) %>
в представлении, даже если зарегистрированная дата отображается в редакторе как
18/03/2011 00:00:00
Передается другое значение и выдает следующую ошибку
SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
Кто-нибудь еще испытывал что-нибудь подобное?
Комментарии:
1. Я не знаю, что не так, но это значение datetime по умолчанию. Возможно, вы неправильно его привязываете.
2. можете ли вы также показать метод действия, написанный в контроллере?
Ответ №1:
Указанная вами дата — 18/03/2011 — выглядит в формате день / месяц / год, что недопустимо. Формат DateTime по умолчанию равен месяцу / дню / году (ММ / дд / гггг). .Net пытается проанализировать 18 как месяц, что, очевидно, неверно, отсюда ошибка и используется значение datetime по умолчанию 01/01/0001 00:00:00.
Комментарии:
1. Воин, спасибо, проблема заключалась в том, что я использовал неправильное свойство даты и времени по умолчанию.