Html.EditorFor, аннотации данных и атрибуты html для поля DateTime - PullRequest
2 голосов
/ 26 октября 2011

Я хочу использовать EditorFor для поля DateTime, потому что тогда я могу использовать аннотации данных для описания формата (я не хочу включать часть времени).Я также хочу назначить атрибут класса html (class = "date").Когда я использую вспомогательную функцию EditorFor, я не могу назначить атрибуты HTML.Когда я использую EditorFor и создаю шаблон редактора, я могу указать класс в шаблоне, но тогда я теряю форматирование.Вот так выглядит мой шаблон редактора DateTime:

@ModelType DateTime

@Html.TextBox("", Model, New With {.class = "date"})

Как мне заставить эту работу работать, чтобы аннотации данных учитывались и я мог добавить атрибут класса?Аннотации, о которых я говорю:

<Display(Name:="Task start date")>
<DataType(DataType.Date)>
<DisplayFormat(DataFormatString:="{0:MM/dd/yyyy}", ApplyFormatInEditMode:=True)>

1 Ответ

2 голосов
/ 26 октября 2011

Для прохождения потока DataAnnotations необходимо изменить шаблон редактора, чтобы использовать TextBoxFor вместо TextBox, например:

@ModelType DateTime
@Html.TextBoxFor(Function(m) m, New With {.class = "date"})
...