ASP.NET MVC - Как добавить класс в Html.EditorFor, когда классы уже существуют из-за ненавязчивой проверки JS? - PullRequest
1 голос
/ 25 ноября 2010

Я пытаюсь добавить Class к EditorFor помощнику внутри EditorTemplate.

Проблема в том, что, поскольку я использую Ненавязчивая проверка ,элементу ввода уже назначены классы.

Вот мой EditorTemplate

@Inherits System.Web.Mvc.ViewUserControl(Of Nullable(Of Date))
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}"), String.Empty), New With {.class = "datepicker"})

А вот и вывод

<input class="text-box single-line" id="BirthDate" name="BirthDate" type="text" value="08/08/1980" />

Здесь вы можете видеть, что datepicker класс не был добавлен, но «значение» было правильно отформатировано.

В основном я вижу, что EditorTemplate работает, но Class не добавляется к остальным классамна элементе <input>.

Кто-нибудь из вас знает, как это исправить?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2010

Оказывается, мне пришлось добавить <UIHint("Date")> в мой класс друзей.

Все снова в порядке.

@ModelType Date?
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}", Model), String.Empty), New With {.class = "datepicker"})

Вот причина для UIHint.

Имя шаблона по умолчанию основано на имени типа CLR, в данном случае DateTime. «Date» - это сокращенное имя в VB, а не имя реального типа (во многом как «int» в C # на самом деле является сокращением для «Int32» в CLR).

0 голосов
/ 25 ноября 2010

попробуйте

@Inherits System.Web.Mvc.ViewUserControl(Of Nullable(Of Date))
@Html.TextBox("", If(Model.HasValue, String.Format("{0:MM/dd/yyyy}"), String.Empty), new {.class = "datepicker"})
...