我有一个随时间变化的对象列表,我必须在表中显示这些对象。我尝试对列表的对象进行迭代,然后通过另一个for-each显示每个对象的项目。
还有其他解决方案来显示这些嵌套变量列表吗?
在控制器中:
using (SP_DataEntities spdb = new SP_DataEntities())
{
var kvaluesinfo = spdb.SP_KProperties_info(gpId, kId).ToList();
List<Main_DB.Models.Extended.Tbl_KPropertiesAndValues> kInfoList = new List<Models.Extended.Tbl_KPropertiesAndValues>();
foreach (var item in kvaluesinfo)
{
Models.Extended.Tbl_KPropertiesAndValues kvs = new Models.Extended.Tbl_KalaPropertiesAndValues();
kvs.Gk = item.Gk;
kvs.Gname = item.Gname;
kvs.CK = item.Ck;
kvs.Cname = item.Cname;
kvs.SKala = (int)item.Skala;
kvs.PropertyId = item.PropertyId;
kvs.PropertyName = item.PropertyName;
kvs.PropertyTyp = item.PropertyTyp;
if (item.String != null)
{
kvs.String = item.String;
}
else
kvs.String = null;
if (item.Number != null)
{
kvs.number = (int)item.Number;
}
else
kvs.number = 0;
if (item.Boolean != null)
{
kvs.boolean = (bool)item.Boolean;
}
else
kvs.boolean = false;
kInfoList.Add(kvs);
}
}
在视图中:
<table id="tbl_installmentDetails" class="table table-striped table-bordered table-sm" cellspacing="0" style="width:100%">
<thead>
@if (Model != null)
{
<tr>
@foreach (var item in Model)
{
<th class="th-sm">
@item.PropertyName
</th>
}
</tr>
}
</thead>
<tbody>
@if (Model != null)
{
foreach (var obj in Model)
{
<tr>
@foreach (var item in obj)
<th> @item.propertyValue </th>
</tr>
}
}
</tbody>
</table>
在obj的内部foreach中,我无法执行此操作,因为
for-each语句不能对'myObject'类型的变量进行操作,因为'myObject'不包含'GetEnumerator'的定义