mvc中具有两列的Razor表

mvc中具有两列的Razor表,razor,model-view-controller,Razor,Model View Controller,这是我的控制器: public ActionResult Index(int PID = -1, int TID = -1, string DateT = "") { return View(barcodes); } 我认为: @model IEnumerable<barkod.Models.Barcode> @foreach (var item in Model) { <tr>

这是我的控制器:

public ActionResult Index(int PID = -1, int TID = -1, string DateT = "")
        {
            return View(barcodes);
        }
我认为:

@model IEnumerable<barkod.Models.Barcode>
 @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.barC)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Date)
            </td>

        </tr>
    }
@model IEnumerable
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.barC)
@DisplayFor(modelItem=>item.Date)
}

可以,但我希望表信息分为两列。

只需在foreach循环周围添加表标记即可。如果你想有4列,你必须添加一个计数器。使用for循环而不是foreach(取决于您的型号),或者添加您自己的行计数器

@model IEnumerable<barkod.Models.Barcode>

@{ int counter = 0; }

<table>
    <tr>
    @foreach (var item in Model)
    {
        <td>
            @Html.DisplayFor(modelItem => item.barC)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Date)
        </td>
        @if (++counter % 2 == 0)
        {
            </tr><tr>
        }
    }
    </tr>
</table>
@model IEnumerable
@{int counter=0;}
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.barC)
@DisplayFor(modelItem=>item.Date)
@如果(++计数器%2==0)
{
}
}

像这样,在每第二个循环中添加一个新行。当项目数量不相等时,您必须添加一些额外的逻辑来处理这种情况

这是真的,但我的问题是not@mohammadmiraali你的问题是什么?表中有两列,是否需要4列?也许你可以使用CSS来创建一个4列布局,如何使用foreach将每个2项放在一个tr中?@Mohammadi我编辑了我的答案。以下可能是另一种解决方案: