1

我的控制器正在查询数据库。结果以DataTable. 我想DataRowDataTable我的view. 在我的controller中,我有以下内容:

DataTable results = QueryDatabase();
ViewBag.Results = results;

RAZOR在我的ASP.NET MVC view. 但是,我不确定如何遍历行并呈现每条记录。执行此类任务的推荐方法是什么?

4

2 回答 2

1

首先将viewbag设置为rows而不是table,所以ViewBag.Results = results.Rows;

然后遍历行使用:

@foreach(DataRow row in ViewBag.Results)
{
    <div>@row["column_name"].ToString()</div>    
}
于 2013-01-28T18:43:32.213 回答
0

您可以使用MvcContrib包中的 Grid 助手。然后你可以做类似的事情

@Html.Grid(ViewBag.Results.Rows).Columns(column => 
{
    column.For(r => r["column1"]);
    column.For(r => r["column2"]);
    ...
})

这将为您生成所有表格内容,您不想手动编码 HTML。

于 2013-01-28T18:53:13.503 回答