IEnumerable <viewmodel>'不包含列表的定义

时间:2019-04-23 06:51:32

标签: c# asp.net-mvc razor

我有这个 viewmodel

public class ViewModel
{
    public int Id { get; set; }

    public List<Class1> OutputList { get; set; }
}

我将其传递给控制器中的部分视图:

foreach (Class1 sc in linqQuery)
        {
            var viewModel = new ViewModel
            {
                Id = sc.Id,
                OutputList = sc.CodeExecutionResults.Where(s => s.Id == sc.Id).ToList()
            };

            model.Add(viewModel);
        }

return this.PartialView(model);

然后,在视图 cshtml中,我要显示该OutputList

@model IEnumerable<Models.ViewModel>

@foreach (var item in Model)
{
    <tr>
        <td style="width:30%">
           @foreach (var result in Model.OutputList)
           {
                <li> result.item </li>
           }
        </td>
    </tr>
}

但是我得到以下输出:

  

错误CS1061'IEnumerable'不包含'OutputList'的定义,并且找不到可以接受的扩展方法'OutputList'接受类型为'IEnumerable'的第一个参数(您是否缺少using指令或程序集引用?)

我的问题是,如何在IEnumerable<ViewModel>的{​​{1}}中嵌套列表?

1 个答案:

答案 0 :(得分:3)

使用item.OutputList

@model IEnumerable<Models.ViewModel>

    @foreach (var item in Model)
    {
        <tr>
            <td style="width:30%">
               @foreach (var result in item.OutputList)
               {
                    <li> result.item </li>
               }
            </td>
        </tr>
    }