Как отобразить список переменных объектов в виде бритвы ASP.NET MVC - PullRequest
0 голосов
/ 18 мая 2019

У меня есть список объектов, которые могут меняться в зависимости от времени, и я должен отобразить их в таблице. Я пытаюсь перебрать объекты списка, затем отобразить элементы каждого объекта по одному для каждого.

Есть ли другое решение, чтобы показать эти вложенные списки переменных?

В контроллере:

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>

Во внутреннем foreach на obj я не могу этого сделать, потому что

оператор for-each не может работать с переменными типа «myObject», поскольку «myObject» не содержит определения для «GetEnumerator»

...