Html.Display / Html.DisplayFor / Html.DisplayForModel可以使用DataTable吗?

时间:2011-02-08 11:03:53

标签: c# .net asp.net-mvc asp.net-mvc-3

我看过this有关如何在视图中显示DataTable的问题,但想知道Html.DisplayHtml.DisplayFor是否可以与{{1}一起使用}}?

NB:

  

此项目需要使用DataTable

2 个答案:

答案 0 :(得分:1)

我通过在名为DisplayTemplates的文件夹中的View文件夹下创建局部视图来创建DisplayTemplate。我打电话给局部视图表。它使用的模型是数据表,下面是代码。在您的视图中,您可以执行@Html.DisplayForModel("Table")

@using System.Data;
@model DataTable
<table id="example" class="display">
    <thead>
        <tr>
            @{
                foreach (DataColumn col in Model.Columns)
                {
                <th>@col.ColumnName
                </th>
                }
            }
        </tr>
    </thead>
    <tbody>
        @{
            foreach (DataRow row in Model.Rows)
            {
            <tr>
                @{foreach (DataColumn col in Model.Columns)
                  {
                    <td>@row[col]
                    </td>
                  }
                }
            </tr>
            }
        }
    </tbody>
</table>

答案 1 :(得分:0)

如果您将数据表映射到对象的IEnumerable中,我相信DisplayFor会处理这个问题。