显示For循环中的Model而不是Foreach Asp MVC 5的结果

时间:2015-05-25 11:21:02

标签: c# asp.net asp.net-mvc entity-framework

好吧所以我基本上有一个调查向导,里面有4个部分,我需要每个显示5个单独的结果,但是如下所示的for循环,显然会显示所有结果,因此会打破向导,我怎么能循环通过这个for循环? 任何帮助将不胜感激,谢谢

@foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Category.Title)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Survey.Title)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Title)
            </td>       
        </tr>
    }

2 个答案:

答案 0 :(得分:2)

假设您的模型是某种IENumerable

@{ var list = Model.ToList();
for (int i = 0; i < list.Count; i++)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => list[i].Category.Title)
            </td>
            <td>
                @Html.DisplayFor(modelItem => list[i].Survey.Title)
            </td>
            <td>
                @Html.DisplayFor(modelItem => list[i].Title)
            </td>       
        </tr>
    }
 }

答案 1 :(得分:1)

去吧,只是使用了增量器,似乎与模型

一起工作得很好
 @{
        int counter = 0;
        foreach (var item in Model)
        {
            counter++;
            if (counter > 1 && counter < 6)
            {
                <tr>
                    <td>
                        @Html.DisplayFor(modelItem => item.Category.Title)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Survey.Title)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Title)
                    </td>
                </tr>
            }
        }
    }