在mvc中动态添加boostrap行和列

G G*_* Gr 4 c# linq asp.net-mvc html5 twitter-bootstrap

我的foreach循环有问题:

@for(int i = 0; i < Model.Count(); i += 3)
{
    <div class="row">
        @foreach (var item in Model) 
        {
            <div class="col-md-4 portfolio-item">
                <a href="@Html.DisplayFor(modelItem => item.UrlSlug)">
                    <img class="img-responsive" src="http://placehold.it/700x400" alt="">
                </a>
                <h3>
                <a href="@Html.DisplayFor(modelItem => item.UrlSlug)">@Html.DisplayFor(modelItem => item.Title)</a>
                </h3>
                <p>@Html.DisplayFor(modelItem => item.ShortDescription)</p>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })
            </div>
        }
    </div>
}
Run Code Online (Sandbox Code Playgroud)

此方法显示一个大的长长的清单,但我只想要显示的三(3次)<div class="col-md-4 portfolio-item"><div class="row">经过三次投资组合项目已被填充,然后我想创造另一个<div class="row">和填充下一个 3 <div class="col-md-4 portfolio-item">.

我怎样才能做到这一点?

Fra*_*nky 8

您可以使用外部for循环,而for (int i = 0; i < Model.Count; i += 3)不是<div class="row">实际的foreach使用Model.Skip(i).Take(3).

@for(int i = 0; i < Model.Count(); i += 3)
{
    <div class="row">
        @foreach (var item in Model.Skip(i).Take(3)) 
        {
            <div class="col-md-4 portfolio-item">
                <a href="@Html.DisplayFor(modelItem => item.UrlSlug)">
                    <img class="img-responsive" src="http://placehold.it/700x400" alt="">
                </a>
                <h3>
                <a href="@Html.DisplayFor(modelItem => item.UrlSlug)">@Html.DisplayFor(modelItem => item.Title)</a>
                </h3>
                <p>@Html.DisplayFor(modelItem => item.ShortDescription)</p>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })
            </div>
        }
    </div>
}
Run Code Online (Sandbox Code Playgroud)