n 项显示在 3 列逻辑中

n items show in 3 column logic

我有 n items.I 想要在查看页面的 3 列中显示它。

@foreach (var x in ViewBag.list)
{
<tr><td>@x.Name</td></tr>
}

但我想在 3 列中显示它。

<tr><td>@x.Name</td><td>@x.Name</td><td>@x.Name</td></tr>

那这是什么逻辑呢?有大神帮帮我吗

无论如何这对我有用。

  @{
            int count = 0;
            var tr = new HtmlString("<tr>");
            var trclose = new HtmlString("</tr>");
            <div class="panel-body noPad">
                <table class="table table-hover pdSbasic">
                    <tr>
                        @foreach (var pd in ViewBag.PDList)
                        {
                            <td><input type="checkbox" class="form-control" /></td>
                            <td><input type="hidden" class="pdId" value="@pd.PollidutId" />@pd.PollidutName</td>
                            count++;

                            if (count % 3 == 0)
                            {
                                @tr;
                                @trclose; 
                            }
                        }
                    </tr>
                </table>
            </div>
        }

您可以使用两个 for 循环来完成此操作。一个用于行,一个用于列:

@for (var row = 0; row < ViewBag.list.Count(); row++)
{
    <tr>
        @for (var col = 0; (col + row * 3)< ViewBag.list.Count() && col < 3; col++)
        {
           <td>@ViewBag.list.ElementAt(row * 3 + col).Name</td>
        }
    </tr>
}

如果您想更改每行 td 元素的数量,只需将 3 替换为变量或硬代码即可。