2011-02-10 2 views
0

В настоящее время я переопределяю редактор. Помогите с помощником, который отображает объект DateTime как пустую строку, если объект DateTime имеет значение min-value. Он делает это с помощью TextBoxFor помощника:Переопределить ASP MVC EditorFor шаблон и включить оригинальные аргументы EditorFor?

<%: Html.TextBox("", (Model != DateTime.MinValue ? Model.Date.ToString("ddMMMyy") : string.Empty), new { @class = "edit-date-field" })%> 

Проблема заключается в том, что, когда я использую это так:

<%: Html.EditorFor(m => m.StartDate, new { id = "field-id", @class = "field-class"})%> 

я ожидал MVC сохранить атрибуты поля идентификаторов и поля класса, но вместо Сгенерированный элемент имеет id = «StartDate» и только один класс, class = «edit-date-field».

Итак, как сохранить атрибуты, входящие в исходный вызов EditorFor? Если я добавлю исходные атрибуты id и class в шаблон, чем ВСЕ вызовы в EditorFor с объектом DateTime получат эту конкретную пару элементов/значений, которая не является тем, что я хочу.

Спасибо!

ответ

0

Позвольте мне уточнить, вы пытаетесь использовать TextBox заменить EditorFor.

Ваш оригинальный TextBox HTML помощник не имеет идентификатор набора, а атрибут класса был установлен редактировать-финиковой поле

Попробуйте это:

<%: Html.TextBox("field-id", (Model != DateTime.MinValue ? Model.Date.ToString("ddMMMyy") : string.Empty), new { @class = "field-class" })%>