我试着在foreach中使用两个if语句,比如这个,但是我收到了这个错误:
遇到结束标记" div"没有匹配的开始标记。是你的 开始/结束标签是否正确平衡?
我希望这是条件:如果变量i小于我希望成为带有行类的div元素中此代码的一部分。
<text>
<div class="col-xs-2 col-wrapper">
<div class="image-wrapper">
<img src="@Url.Content(path + item.PhotoName)" alt="" />
<img class="delimg" src="~/Content/Adminex/images/delete-icons.png" id="@item.Id" />
</div>
</div>
</text>
。请咨询,
@{
string path = System.Configuration.ConfigurationManager.AppSettings["ImageEdit"];
int i = 0;
}
@foreach (var item in Model.PhotoTables)
{
if (i == 7)
{
i = 0;
}
if (i < 1)
{
@:<div class="row">
}
<text>
<div class="col-xs-2 col-wrapper">
<div class="image-wrapper">
<img src="@Url.Content(path + item.PhotoName)" alt="" />
<img class="delimg" src="~/Content/Adminex/images/delete-icons.png" id="@item.Id" />
</div>
</div>
</text>
if (i < 1)
{
@:</div>
}
i++;
}
答案 0 :(得分:1)
</div>
以上i++
看起来很可疑。
编辑:
现在我想我明白了,你想在每个div行中各有7个文本项(最后一行中有任何余数)。这是众多方式中的一种......
@foreach (var item in Model.PhotoTables) {
if (i < 1) {
@:<div class="row">
}
<text>
...item...
</text>
i++;
if (i == 7) {
i = 0;
@:</div>
}
}
if (i > 0) {
@:</div>
}
如果这就是你想要的那样产生这个......
<div class="row">
<text>..1..</text>
<text>..2..</text>
<text>..3..</text>
<text>..4..</text>
<text>..5..</text>
<text>..6..</text>
<text>..7..</text>
</div>
<div class="row">
<text>..8..</text>
</div>
答案 1 :(得分:1)
如果我没有错,您希望在text
时将<div class="row">
标记包裹在i < 1
中。所以你可以试试这个。它对我有用。
@{
string path = System.Configuration.ConfigurationManager.AppSettings["ImageEdit"];
int i = 0;
}
@foreach (var item in Model.PhotoTables)
{
if (i == 7)
{
i = 0;
}
if (i < 1)
{
<div class="row">
<text>
<div class="col-xs-2 col-wrapper">
<div class="image-wrapper">
<img src="@Url.Content(path + item.PhotoName)" alt="" />
<img class="delimg" src="~/Content/Adminex/images/delete-icons.png" id="@item.Id" />
</div>
</div>
</text>
</div>
}
else
{
<text>
<div class="col-xs-2 col-wrapper">
<div class="image-wrapper">
<img src="@Url.Content(path + item.PhotoName)" alt="" />
<img class="delimg" src="~/Content/Adminex/images/delete-icons.png" id="@item.Id" />
</div>
</div>
</text>
}
i++;
}
答案 2 :(得分:0)
我认为这样做会有所帮助。使用模数运算符来确定您是在开始还是在计数结束时7,如果项目不是7,则结束div仍然存在
@{
string path = System.Configuration.ConfigurationManager.AppSettings["ImageEdit"];
int i = 0;
int modelCount = Model.PhotoTables.Count();
}
@foreach (var item in Model.PhotoTables)
{
//if (i == 7)
// {
// i = 0;
// }
if (i % 6 == 0)
{
@:<div class="row">
}
<text>
<div class="col-xs-2 col-wrapper">
<div class="image-wrapper">
<img src="@Url.Content(path + item.PhotoName)" alt="" />
<img class="delimg" src="~/Content/Adminex/images/delete-icons.png" id="@item.Id" />
</div>
</div>
</text>
if (i % 6 == 5 || i == modelCount - 1)
{
@:</div>
}
i++;
}