我正在创建一个数据驱动的应用程序,它从excel导入大量数据。但是,我必须首先处理数据位并将其放入EF模型中,然后在提交到数据库之前,将其全部呈现给用户在一堆表中进行确认。我只是想知道如何在视图中轻松渲染它。
我的模型基本上是Dictionary<string, List<object>>
,其中键是模型名称,列表是模型对象的列表。它的对象类型的原因是因为每个列表将是与其EF模型相对应的不同类型。例如:
<"Model1", List<Model1>>, <"Model2", List<Model2>>, ...
问题是,如何查看列表中我不知道类型信息的每个对象,并以表格格式逐字段呈现它?如果这是不可能的,或者不建议使用强类型语言,你能推荐一种更好的方法吗?
答案 0 :(得分:0)
是的,你可以通过反思来做到这一点:
@model Dictionary<string, List<object>>
@foreach (var table in Model)
{
var properties = table.Value.First().GetType().GetProperties();
<h4>@table.Key</h4>
<table>
<thead>
<tr>
@foreach (var head in properties)
{
<th>@head.Name</th>
}
</tr>
</thead>
<tbody>
@foreach (var item in table.Value)
{
@:<tr>
foreach (var property in properties)
{
<td>@property.GetValue(item)</td>
}
@:</tr>
}
</tbody>
</table>
}