在mvc 5中使用foreach循环时出错

时间:2015-07-07 09:44:36

标签: c# asp.net asp.net-mvc razor asp.net-mvc-5

我想从数据库中创建2个列表 ul 。按照我的代码:

<ul>
    @foreach (var item in subCate)
    {
        if (i == 6)
        {
            </ul><ul>
        }
            <li><a href="#">@item.Name</a></li>
    }
</ul>

但我不知道

有错误
  

if(i&gt; 6)   当我使用

</ul><ul>

但是当我替换

<li><a href="#">@item.Name</a></li>

然后没有错误。 我该怎么办?谢谢大家。

2 个答案:

答案 0 :(得分:5)

您尚未声明i变量,而是将其更改为for循环:

<ul>
    @for(var i = 0; i < subCate.Count; i++)
    {
        if (i == 6)
        {
            @:</ul><ul>
        }
            <li><a href="#">@subCate[i].Name</a></li>
    }
</ul>

您还可以使用@:

输出非平衡标签

答案 1 :(得分:2)

您可以继续使用foreach,请务必检查收藏中当前项目的索引:

<ul>
    @foreach (var item in subCate)
    {
        if (subCate.IndexOf(item) == 6)
        {
            @:</ul><ul>
        }
            <li><a href="#">@item.Name</a></li>
    }
</ul>