查询错误打印数据多次MVC

时间:2016-06-25 20:09:43

标签: asp.net-mvc-4

我的查询正在运行,当我调用表格时它正常工作,但是,显示器正在过度打印第二个foreach循环。我试图使用for循环来纠正这个问题,但它不起作用。任何人有任何关于如何使用第二个表而不多次显示它的列的建议?谢谢!

查看:

        @foreach (ModelA modela in Model.ModelA)
        {
                DateTime CurrTime = DateTime.Now;
                    if (modela.LastUpdate >= DateTime.Now.AddDays(-10))
            { 
            <tr>
                <td>@modela.Keys</td>
                <td>@modela.IDs</td>

                <td>

                    @foreach (ModelB modelb in Model.ModelB) {

                            if (modela.IDs != null)
                            {
                            @modelb.DisplayName
                            }     
                    }
                </td> 
            </tr>

            }
            }

    </table>
</font>

1 个答案:

答案 0 :(得分:0)

你有一个嵌套循环:

foreach (ModelA modela in Model.ModelA) {
    // print something
    foreach (ModelB modelb in Model.ModelB) {
        // print something
    }
}

因此Model.ModelB中的集合将在Model.ModelA中为集合中的每个元素重复打印。如果您只想打印一次,只需循环一次:

foreach (ModelA modela in Model.ModelA) {
    // print something
}
foreach (ModelB modelb in Model.ModelB) {
    // print something
}