如何在ASP.NET MVC剃刀视图中显示变量对象列表

时间:2019-05-18 07:52:16

标签: asp.net-mvc razor

我有一个随时间变化的对象列表,我必须在表中显示这些对象。我尝试对列表的对象进行迭代,然后通过另一个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'的定义

0 个答案:

没有答案