2010-03-23 65 views
7

ASP.NET MVC 2具有強大的功能,用於生成編輯視圖(使用EditorForModel)和詳細信息視圖(使用DisplayForModel)的模型相關內容,該視圖自動利用元數據和編輯(或顯示器)模板:ASP.NET MVC 2代列表/索引視圖

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

什麼是生成列(utlizing元數據,如HiddenInput),用最好的方式使索引視圖脫離模型細節的目的是編輯和細節?

回答

1

我認爲Phil Haack做幾乎你在找什麼...

ASP.NET MVC2模板功能,是一個相當不錯的方式在運行時快速腳手架對象。請務必閱讀Brad Wilson關於此主題的精彩系列,從ASP.NET MVC 2模板,第1部分:簡介開始。

就像這個功能一樣,有一個顯着缺失的模板。 ASP.NET MVC不包含用於以表格格式顯示對象列表的模板。

檢查鏈接更多...

+1

我確定它是一個錯字,但它的「菲爾黑克」 – 2010-06-15 03:30:32

+0

@Vivek是的,這是... – 2010-06-15 12:06:33

0

看看Phil Haack的code based repeater。我認爲這可能會完成你正在尋找的東西。

+0

據我瞭解,還有你明確列出所有列的要求。我希望完全避免這種情況,如EditorForModel或DisplayForModel。 – 2010-06-11 14:14:07