Как люди используют редактора/еисплей Templates по сравнению с Помощниками HTML?

Просто задавшись вопросом, как и когда люди используют редактора/еисплей Templates по сравнению с Помощниками HTML. Конкретно я говорю о его использовании в рендеринге другого управления UI вместо того, чтобы представить объекты.

Например, у меня есть что-то как следующий банкомат:

<tr>
    <th><%= Html.LabelFor(x => x.ActivityTypeId) %></th>
    <td><%= Html.EditorFor(x => x.ActivityTypeList, "MultiSelectDropDownList")%></td>
</tr>
<tr>
    <th><%= Html.LabelFor(x => x.Name) %></th>
    <td><%= Html.EditorFor(x => x.Name) %></td>
</tr>
<tr>
    <th><%= Html.LabelFor(x => x.Description) %></th>
    <td><%= Html.DisplayFor(x => x.Description, "DisplayString")%></td>
</tr>   

Но в последнее время я задаюсь вопросом, должен ли я делать это:

<tr>
    <th><%= Html.LabelFor(x => x.ActivityTypeId) %></th>
    <td><%= Html.MultiSelectDropDownList(x => x.ActivityTypeList)%></td>
</tr>
<tr>
    <th><%= Html.LabelFor(x => x.Name) %></th>
    <td><%= Html.EditorFor(x => x.Name) %></td>
</tr>
<tr>
    <th><%= Html.LabelFor(x => x.Description) %></th>
    <td><%= Html.DisplayString(x => x.Description)%></td>
</tr>   

Но если я иду с этой второй опцией, там много точки использования среднего редактора для... Я был бы просто хорошо от использования HTML. Текстовое поле и обладает преимуществом способности установить любое свойство HTML, которое я люблю.

Мне интересно, что люди шаблонов используют здесь... Какие-либо идеи?

Аплодисменты Anthony

7
задан vdh_ant 4 February 2010 в 23:27
поделиться

3 ответа

EditorFor и DisplayFor - наиболее мощные аспекты MVC 2, и, на мой взгляд, ими следует как можно чаще злоупотреблять.

Зайдите в блог Брэда Уилсона и узнайте, как можно расширить шаблоны объектов для быстрого извлечения экранов на основе соглашений из моделей представления, украшенных атрибутами: http://bradwilson.typepad.com/ blog / 2009/10 / aspnet-mvc-2-templates-part-5-master-page-templates.html

Я использую эту технику в текущем проекте, и до сих пор не было написано ни одной строки HTML для индивидуального экрана. : D

5
ответ дан 7 December 2019 в 12:20
поделиться

Мне очень нравится второй.

это элегантно и освобождает вас от этих ошибочных строк :)

0
ответ дан 7 December 2019 в 12:20
поделиться

Я изменил (фактически, в процессе изменения) T4 Edit , Create и Просмотрите шаблоны, чтобы выдать нужный мне код. В этом коде не используются методы DisplayFor или EditorFor . Я не копался в коде этих методов, но уверен, что вы увидите там какое-то отражение. Мои измененные шаблоны в настоящее время создают TextBoxFor , DropDownListFor и CheckBoxFor .

Вы можете использовать метод из сообщения Брэда Уилсона, упомянутого jfar, если хотите. Как минимум, я хотел бы, чтобы шаблоны выдавали код для каждого поля, используя DisplayFor или EditorFor , чтобы вы могли вернуться позже, можете перейти к конкретному редактору, а также добавить любые необходимые атрибуты для ввода поле.

0
ответ дан 7 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: