Переопределить шаблон ASP MVC EditorFor и включить оригинальные аргументы EditorFor? - PullRequest
0 голосов
/ 10 февраля 2011

В настоящее время я заменяю помощника EditorFor пользовательским, который отображает объект DateTime в виде пустой строки, если для объекта DateTime установлено минимальное значение.Это делается с помощью помощника TextBoxFor:

<%: 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 сохранит атрибуты field-id и field-class, но вместо этого сгенерированный элемент имеет id = "StartDate" и только один класс, class = "edit-date-field".

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

Спасибо!

1 Ответ

0 голосов
/ 10 марта 2011

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

Ваш исходный TextBox Помощник html не имеет установленного идентификатора, а атрибут класса был установлен на поле даты редактирования

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

<%: Html.TextBox("field-id", (Model != DateTime.MinValue ? Model.Date.ToString("ddMMMyy") : string.Empty), new { @class = "field-class" })%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...