2010-03-23 64 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