Пользовательский редактор 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" })