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