Как люди используют редактор/шаблоны отображения против HTML -помощников?
-
18-09-2019 - |
Вопрос
Просто интересно, как и когда люди используют шаблоны редактора/отображения против HTML -помощников. В частности, я говорю о его использовании для отмены различного контроля пользовательского интерфейса, а не о том, чтобы рендеринга.
Например, у меня есть что -то вроде следующего банкомата:
<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.textbox, и я имею возможность установить какое -либо свойство HTML, которое мне нравится.
Мне интересно, какие узоры здесь используют люди ... есть идеи?
Ура Энтони
Решение
Editorfor и Display для самых мощных аспектов MVC 2, и, по моему мнению, следует использовать и злоупотреблять как можно больше.
Прыгните в блог Брэда Уилсонса и проверьте, как вы можете расширить шаблоны объектов, чтобы быстро вывести экраны на основе конвенций от ViewModels, украшенных атрибутами:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-5-master-page-templates.html
Я использую эту технику в текущем проекте, и до сих пор ни одна строка HTML даже не была написана для отдельного экрана. : D.
Другие советы
Мне так нравится второй.
Это элегантно и освобождает вас от этих наносящих струн :)
Я изменил (на самом деле, в процессе изменения) T4 Edit
, Create
, а также View
Шаблоны, чтобы выплюнуть код, который я хочу. Этот код не использует ни одного DisplayFor
или же EditorFor
методы Я не выкопал код для этих методов, но я уверен, что вы увидите некоторое отражение, происходящее там. Мои модифицированные шаблоны в настоящее время генерируют TextBoxFor
, DropDownListFor
, а также CheckBoxFor
.
Вы можете использовать метод в посте Брэда Уилсона, который упомянул JFAR, если вы предпочитаете. Как минимум, у меня были бы шаблоны выплюнул код для каждого поля, используя DisplayFor
или же EditorFor
Таким образом, вы можете вернуться позже, можете перейти к конкретному редактору, а также добавить любые необходимые атрибуты для поля ввода.