我对 MVC (3) 相当陌生,并且正在构建一个应用程序,它将在整个过程中使用各种数据项的列表。
我可以为每个视图构建一个视图,但认为每个视图都相似(带有数据列的 HTML 表),因此使用通用视图会更有意义。
控制器都使用 DAL 中的 Linq 来返回条目,例如
达尔
public List <MyObject> getAllEntriesOfSomeType()
{
var myobjects = from r in db.something
where r.status ==1
select r;
return myobjects.ToList();
}
控制器
MyObjectClass o = new MyObjectClass();
return View(o.getAllEntriesOfSomeType());
看法
在不与该对象绑定的视图中,我想动态显示列名和数据,例如
<thead>
<tr>
@int cols = 0;
@foreach(c in Model.Columns)
{
<th>
@cols+=1;
@c.DisplayName
</th>
}
</tr>
</thead>
<tbody>
@foreach(m in Model)
{
<tr>
@(int i = 1;i<=cols;i++)
{
<td>
@m[i].Value
</td>
}
</tr>
}
</tbody>
...
有没有(简单!)实现上述目标的方法。我想过将模型转换为 DataTable,但似乎没有一个简单的方法(阅读一些关于 ObjectShredder 的内容)