ASP.NET MVC 2代的List/Index视图

Kla*_*urn 7 templates metadata view asp.net-mvc-2

ASP.NET MVC 2具有强大的功能,用于生成编辑视图(使用EditorForModel)和Details视图(使用DisplayForModel)的模型相关内容,该视图自动使用元数据和编辑器(或显示)模板:

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

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

        <%= Html.EditorForModel() %>

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

<% } %>
Run Code Online (Sandbox Code Playgroud)

但是,我找不到任何类似的工具用于生成索引视图(也就是列表视图)的"最后"步骤.在那里,我必须首先在代表标题的行中对列进行硬编码,然后在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>
Run Code Online (Sandbox Code Playgroud)

生成列的最佳方法是什么(使用HiddenInput这样的元数据),目的是使索引视图不像编辑和详细信息那样具有模型细节?

moi*_*eme 1

我认为菲尔·哈克(Phil Haack)正在做你正在寻找的事情......

\n
\n

ASP.NET MVC2 模板功能是一种在运行时快速搭建对象的好方法。请务必阅读 Brad Wilson\xe2\x80\x99 关于此主题的精彩系列,从 ASP.NET MVC 2 模板,第 1 部分:简介开始。

\n

尽管此功能非常出色,但有一个模板明显缺失\xe2\x80\x99s。ASP.NET MVC 不包含用于以表格格式显示对象列表的模板。

\n
\n

检查链接了解更多...

\n