c# - Razor 中 foreach 中的 html 和代码的混合

标签 c# loops asp.net-mvc-4 razor

我想用 row-fluid 类创建引导网格。需要将所有带有 span4 类的嵌套 div 分成 block 。所以我想要这样的 html:

    <div class="row-fluid">
        <div class="span4"></div>
        <div class="span4"></div>
        <div class="span4"></div>
    </div>
    <div class="row-fluid">
        <div class="span4"></div>
        <div class="span4"></div>
        <div class="span4"></div>
    </div>

我在 Razor 中有代码

@{
int counter = 3;
}
@foreach (var config in Model)
{
    @if (counter == 3)
    {
       <div class="row-fluid">
       @counter = 0;
    }
    @Html.Partial("_ConfigBar", config)

    @if (counter == 2)
    {
        </div>
    }
    @{counter++;}
}

局部 View 只是把div和span4类放在一起,没有什么有趣的。

但是没有用。谁能指出我哪里出了问题?

最佳答案

像这样的东西应该创建你需要的东西:

@{
    int counter = 0;
    foreach (var config in Model)
    {
        if (counter == 0)
        {
           @Html.Raw("<div class=\"row-fluid\">")
        }
        else if (counter > 0 && counter % 3 == 0 )
        {
           @Html.Raw("</div><div class=\"row-fluid\">")
        }

        @Html.Partial("_ConfigBar", config)

        counter++;
    }

    @Html.Raw("</div>")
}

这将:

  • 在第一个循环中创建一个开头的 div
  • 关闭当前打开的 div 并在每 4 个循环打开一个新的 div
  • 在循环完成后添加一个结束 div。

关于c# - Razor 中 foreach 中的 html 和代码的混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18172794/

相关文章:

c# - System.Web.Mvc.UrlHelper.Action 抛出 ArgumentNullException 插入 RouteCollection

c# - 使用 BackgroundWorker 处理多个操作

loops - 你会如何在 Rust 中编写这个 C++ 循环的等价物

loops - 如何将循环转换为向量赋值符号

asp.net-mvc - 如何停止 MVC 中的多条路由匹配?

javascript - 返回 View MVC/Javascript/.NET Core 时出现问题

c# - LINQ 和 NOT IN 子句

c# - 我如何创建一个自定义控件来根据所选语言更改其值(或加载值)?

c# - 如何将数字写入文件并使其在 Java 和 C# 之间可读

linux - 想要从 Java 调用然后循环 linux shell 命令