其他分享
首页 > 其他分享> > 如何在Razor mvc5中为每个第三列创建一行?

如何在Razor mvc5中为每个第三列创建一行?

作者:互联网

我目前正在尝试使用剃刀为每个第三列添加一个新行.但是,使用当前代码,只有前三列被包装成一行,其余的被跳过.我一直在寻找修复程序,但似乎都无法与我的代码一起使用.有人对此有解决方案吗?

@model IEnumerable<Byporten.createpost>
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_LayoutClient.cshtml";
}

<div class="container">

    @{
        var itemCount = 0;
    }

    @while (itemCount < 3)
    {
        foreach (var item in Model.Reverse().Take(9))
        {
            if(itemCount == 0 )
            {
                @:<div class="row">
            }

            <div class="col-lg-4 col-md-6 col-sm-6">
                <div class="image-section">
                    <img src="~/images/uploads/@Html.DisplayFor(modelItem => item.ImageURL)"/>
                </div>
                <div class="title-section">
                    <h5><span class="fa fa-pencil"></span> @Html.DisplayFor(modelItem => item.Title)</h5>
                    @Html.ActionLink("Les mer", "viewArticle", new { id = item.Id })
                </div>
            </div>

            itemCount++;

            if ((itemCount % 3) == 0)
            {
                @:</div>
            }

        }
        
    }
    @{itemCount = 0;}
</div>

解决方法:

这将导致无效的标记,因为itemCount == 0将只为一次.将if(itemCount == 0)替换为if(itemCount%3 == 0 || itemCount%3 == 3).

我还将摆脱while循环和底部的itemCount重置.

标签:razor,asp-net-mvc-5,html,c,asp-net-mvc
来源: https://codeday.me/bug/20191120/2044580.html