我的控制器正在查询数据库。结果以DataTable
返回。我想在DataRow
中显示DataTable
的每个view
。在我的controller
中,我有以下内容:
DataTable results = QueryDatabase();
ViewBag.Results = results;
我在RAZOR
ASP.NET
MVC
中使用view
语法。但是,我不知道如何遍历行并渲染每条记录。执行此类任务的推荐方法是什么?
答案 0 :(得分:1)
首先将viewbag设置为行而不是表,因此ViewBag.Results = results.Rows;
然后迭代遍历行使用:
@foreach(DataRow row in ViewBag.Results)
{
<div>@row["column_name"].ToString()</div>
}
答案 1 :(得分:0)
您可以使用MvcContrib包中的Grid助手。然后你可以做类似
的事情@Html.Grid(ViewBag.Results.Rows).Columns(column =>
{
column.For(r => r["column1"]);
column.For(r => r["column2"]);
...
})
这将为您生成所有表格内容,您不希望手动编写HTML代码。