1

コントローラーがデータベースにクエリを実行しています。結果は で返されますDataTableDataRowにそれぞれを表示しDataTableたいview。私controllerの には、次のものがあります。

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

RAZORで構文を使用していますASP.NET MVC view。ただし、行を反復処理して各レコードをレンダリングする方法がわかりません。この種のタスクを実行するための推奨されるアプローチは何ですか?

4

2 に答える 2

1

最初にビューバッグをテーブルではなく行に設定するので、ViewBag.Results = results.Rows;

次に、行を反復するには、次を使用します。

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

MvcContribパッケージのグリッドヘルパーを使用できます。その後、あなたは次のようなことをすることができます

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

これにより、HTMLを手動でコーディングしたくないすべてのテーブルが生成されます。

于 2013-01-28T18:53:13.503 に答える