Пользовательский редактор MVC3 для атрибутов DateTime и DisplayFormat

Я создал собственный редактор для DateTime и добавил имя класса в текстовое поле.

@model DateTime
@Html.TextBoxFor(m => m, new {  @class = "date-time-picker" })

Так что я могу подключить JQuery DatePicker к нему на стороне клиента

$("input.date-time-picker").datetimepicker();

Проблема в том, что для

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:g}")]

Для работы атрибута вам нужно использовать встроенный EditorFor (или извлекать метаданные модели и делать то же самое самостоятельно), так как лучше переопределить редактор EditorFor по умолчанию, добавить имя класса и вызвать встроенный редактор, чтобы я мог использовать атрибут DisplayFormat

1 ответ

(Вопрос, на который ответил ОП в вопросе редактирования. Преобразован в ответ сообщества на вики. См. Вопрос без ответов, но проблема решена в комментариях (или расширена в чате))

ОП написал:

Я решил это, сделав это, но похоже, что изобретать велосипед

@model DateTime  
@Html.TextBox("", string.Format(ModelMetadata.FromLambdaExpression(x => x, ViewData).DisplayFormatString, Model), new { @class = "date-time-picker" })
Другие вопросы по тегам