2010-03-23 5 views
7

ASP.NET MVC 2 имеет мощные функции для создания зависимого от модели содержимого в представлении «Редактировать» (с использованием редактора ForModel) и просмотра сведений (с использованием DisplayForModel), который автоматически использует метаданные и редактор (или дисплей) шаблоны:ASP.NET MVC 2 генерация представления List/Index

<% using (Html.BeginForm()) {%> 
    <%= Html.ValidationSummary(true) %> 

    <fieldset> 
     <legend><%= Html.LabelForModel() %></legend> 

     <%= Html.EditorForModel() %> 

     <p> 
      <input type="submit" value="Save" /> 
     </p> 
    </fieldset> 

<% } %> 

Однако, я не могу найти сопоставимые инструменты для «последнего» этапа формирования Индексных (аки представления списка). Там я должен жестко закодировать столбцы первые в строке, представляющие заголовки, а затем внутри цикла Еогеасп:

<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> 

Что бы лучший способ для создания столбцов (utlizing метаданные, такие как HiddenInput), с цель сделать представление индекса свободным от данных модели как Edit и Details?

ответ

1

я думаю, что Phil Haack делает довольно много, что вы ищете ...

ASP.NET оснащены встроенными шаблонами MVC2 это довольно хороший способ быстро каркасные объекты во время выполнения. Обязательно прочитайте фантастическую серию Брэда Уилсона по этой теме, начиная с шаблонов ASP.NET MVC 2, часть 1: Введение.

Как отличает эту функцию, есть один шаблон, который явно отсутствует. ASP.NET MVC не содержит шаблон для отображения списка объектов в табличном формате.

Проверьте ссылку на более ...

+1

Я уверен, что это опечатка, но ее «Phil Haack» –

+0

@Vivek Да, это было ... –

0

Взгляните на Фила Хаака code based repeater. Я думаю, что может выполнить то, что вы ищете.

+0

Насколько я понимаю, что до сих пор требование, чтобы вы явно перечислить все столбцы. Я надеялся избежать этого полностью, например EditorForModel или DisplayForModel. –

Смежные вопросы