Как люди используют редактор/шаблоны отображения против HTML -помощников?

StackOverflow https://stackoverflow.com/questions/2203706

  •  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 Таким образом, вы можете вернуться позже, можете перейти к конкретному редактору, а также добавить любые необходимые атрибуты для поля ввода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top