在ASP.NET MVC中显示带有模板的项列表

时间:2013-01-28 18:36:08

标签: c# razor asp.net-mvc-4

我的控制器正在查询数据库。结果以DataTable返回。我想在DataRow中显示DataTable的每个view。在我的controller中,我有以下内容:

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

我在RAZOR ASP.NET MVC中使用view语法。但是,我不知道如何遍历行并渲染每条记录。执行此类任务的推荐方法是什么?

2 个答案:

答案 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代码。