如何声明包含包含2种数据类型的数组的列表?

时间:2018-11-28 16:17:04

标签: c# html razor

到目前为止,我有此列表:

    List<object> lista = new List<object>();
    foreach (var item in group)
    {
        lista.Add(new
        {
            ver = item.FirstOrDefault().vereda.DESCRIPCION,
            prod = item.Count()
        });
    }

    ViewBag.veredasEncu = lista;

我必须将该数据发送到视图以构建表:

 <tbody>

 @{
     if (ViewBag.veredasEncu != null)
     {
         List<object> lis = ViewBag.veredasEncu;

         for (int i = 0; i < lis.Count(); i++)
         {
             <tr>
             <td></td>
             <td></td>
             </tr>
         }
     }
  }

</tbody>

我无法将信息放置在<td>标记上,因此foreach迭代中的每个项目都会引发以下情况:

item = {ver = "Loma", prod = 5}

我怎样才能使2个值看起来像一个数组,或者有一种方法可以将它们分开以将它们放置在正确的标记中?

1 个答案:

答案 0 :(得分:1)

我通过创建一个类解决了这个问题:

public class dataTab
{
    public string ver { get; set; }
    public int prod { get; set; }
}

然后只是更改循环:

lista2.Add(new dataTab
            {
                 ver = item.FirstOrDefault().vereda.DESCRIPCION,
                 prod = item.Count()
            });

因此它可以像这样在HTML中发布:

foreach (var item in ViewBag.veredasEncu)
 {
    <tr>
       <td>@item.ver</td>
       <td>@item.prod</td>
    </tr>
 }

但是,我不确定为我需要创建的每种类型的列表创建一个类都是一个好主意。如果有人对如何以更通用的方式填写列表有想法,请回答。