ASP.NET MVC 2 имеет мощные функции для генерации зависящего от модели содержимого представлений «Правка» (с помощью EditorForModel) и подробностей (с помощью DisplayForModel), которые автоматически используют шаблоны метаданных и редактора (или отображения):
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>
<fieldset>
<legend><%= Html.LabelForModel() %></legend>
<%= Html.EditorForModel() %>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
Однако я не могу найти никаких сопоставимых инструментов для «последнего» этапа создания представления «Индекс» (например, представление «Список»).
Там я должен жестко кодировать столбцы сначала в строке, представляющей заголовки, а затем внутри цикла foreach:
<h2>Index</h2>
<table>
<tr>
<th></th>
<th>
ID
</th>
<th>
Foo
</th>
<th>
Bar
</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td>
<%= Html.ActionLink("Edit", "Edit", new { id=item.ID }) %> |
<%= Html.ActionLink("Details", "Details", new { id=item.ID })%> |
<%= Html.ActionLink("Delete", "Delete", new { id=item.ID })%>
</td>
<td>
<%= Html.Encode(item.ID) %>
</td>
<td>
<%= Html.Encode(item.Foo) %>
</td>
<td>
<%= Html.Encode(String.Format("{0:g}", item.Bar)) %>
</td>
</tr>
<% } %>
</table>
Каков наилучший способ создания столбцов (с использованием метаданных, таких как HiddenInput), с целью сделать представление индекса свободным от деталей модели, таких как «Правка» и «Детали»?