在表中显示的记录具有固定的列数(Display records in table with fixe

2019-10-24 15:59发布

<table>
@{var counter = 1; }
<tr>
    @foreach (var item in Model)
{
        <td>
            @Html.DisplayFor(modelItem => item.courseName)
            @Html.DisplayFor(modelItem => item.courseSubject)
            @Html.DisplayFor(modelItem => item.institute)
        </td>
        if (counter % 3 == 0)
    {
            @:</tr><tr> 
    }
}
       </tr>
</table>

我想在一个表中,每行3列显示的记录。 这是我试过的方式。 但还是在一排中的所有记录。 我怎么能做到了。

Answer 1:

您需要更新循环内的计数器变量。 这应该这样做。

<table>
    @{var counter = 1; }
    <tr>
        @foreach (var item in Model)
        {
            <td>
                @Html.DisplayFor(modelItem => item.courseName)
            </td>
            if(counter%3 == 0)
             {
                 @:</tr><tr>
             }
            counter++;
        }
    </tr>
</table>


Answer 2:

如果我正确地读你的问题,你想每行3列?

如果是这样的情况下,进行以下更改到你的HTML结构。 您需要添加三个<td>元素,使三列

@foreach (var item in Model)
{
    <td>
        @Html.DisplayFor(modelItem => item.courseName)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.courseSubject)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.institute)
    </td>
    if (counter % 3 == 0)
    {
        @:</tr><tr> 
    }
}

像Shyju在他回答的建议,我真的不知道你是用一个计数器那里所做的事情,因为它没有在每次循环递增。



文章来源: Display records in table with fixed number of columns