Обнуляемый DateTime с помощью Html.EditorFor () ASP.NET MVC helper - PullRequest
2 голосов
/ 20 февраля 2012

У меня есть DateTime? StartDate { get; set; } в моей asp.net mvc viewmodel, и я попытался сделать Html.EditorFor(x => x.StartDate) в моем представлении.Я получил ошибку

Элемент модели, переданный в словарь, имеет нулевое значение, но для этого словаря требуется ненулевой элемент модели типа 'System.DateTime'.

Есть ли какой-нибудь хороший способ обойти это без создания суррогатного свойства, не допускающего обнуления, на моей модели представления?

Ответы [ 2 ]

4 голосов
/ 20 февраля 2012

Скорее всего, вы определили шаблон редактора даты и времени, подобный этому - Views/Shared/EditorTemplates/Datetime.cshtml

@model Datetime
//etc

Измените модель так, чтобы она принимала обнуляемую дату и время

@model Datetime?
//etc
2 голосов
/ 20 февраля 2012

Это может быть ответом на ваш вопрос:

<%: Html.EditorFor(model => model.SomeNullableDecimal, "NullableDecimalTemplate" )%>

Кредит: ASP.NET MVC 2 - HTML.Editor для обнуляемого типа?

...