Как применить форматирование даты и добавить атрибуты в текстовое поле в MVC3? - PullRequest
0 голосов
/ 21 декабря 2010

В моем приложении я хочу, чтобы все даты отображались в формате ММ / ДД / ГГГГ, а также чтобы текстовое поле было ограничено 10 символами и к нему был применен определенный класс.

КомуС этой целью я создал собственный шаблон редактора для даты, который выглядит следующим образом:

@ModelType System.Nullable(Of DateTime)

@Html.TextBoxFor(Function(d) d, New With {.class="polkDate", .maxlength="10"})

Тогда, на мой взгляд, я могу просто позвонить @Html.EditorFor(Function(m) m.someDate), и это работает довольно хорошо.Однако, поскольку я использую TextBoxFor, он не учитывает атрибут DisplayFormat, который применяется к моему классу модели (т. Е. Он также выплевывает время вместо форматирования даты).

Iхотел бы использовать EditorFor, чтобы он соответствовал форматированию, которое я хочу, но вы не можете добавлять такие атрибуты, как class и maxlength.Я также пытался просто использовать старый добрый помощник TextBox, но я не знаю, как заставить его генерировать правильный идентификатор, чтобы привязка модели все еще работала.

Кто-нибудь знает способ, как это сделать?Я не чувствую, что то, что я хочу здесь сделать, слишком диковинно.

1 Ответ

1 голос
/ 21 декабря 2010

Похоже, это помогает:

@ModelType Date

@If Date.MinValue.Equals(Model) Then
    @Html.TextBox("", Nothing, New With {.class="polkDate", .maxlength="10"})
Else
    @Html.TextBox("", Model.ToShortDateString(), New With {.class="polkDate", .maxlength="10"})
End If

Похоже, что фреймворк автоматически назначает поля идентификатора и имени тега ввода html, поэтому все работает правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...