【问题标题】:error when used foreach loop in mvc 5在 mvc 5 中使用 foreach 循环时出错
【发布时间】:2015-07-07 09:44:35
【问题描述】:

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

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

但我不知道有错误

如果 (i > 6) 当我使用

</ul><ul>

但是当我替换时

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

那么不会出错。 我该如何解决?谢谢大家。

【问题讨论】:

  • 请分享错误以及您尝试解决的方法。
  • 我错过了使用@:&lt;/ul&gt;&lt;ul&gt;输出不平衡标签
  • 如果您需要帮助,您需要分享确切错误以及您尝试修复的内容。

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


【解决方案1】:

您尚未声明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>

你也可以用@:输出不平衡的标签

【讨论】:

  • 是的,我错过了使用@:&lt;/ul&gt;&lt;ul&gt; 输出不平衡标签。谢谢建议
  • @TienKenji 谢谢,没问题。 :)
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2016-05-31
    • 2023-03-13
    • 1970-01-01
    相关资源
    最近更新 更多