如何在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