Razor C#foreach循环通过图像阵列
我试图遍历一个图像数组,让它在一行中有3个图像之后转到下一行。Razor告诉我在if语句中不需要“@”字符,这会导致语法错误。然而,当我删除它们时,它会告诉我缺少一个结束括号。我在任何地方都看不到缺少的括号。这是我的密码Razor C#foreach循环通过图像阵列,c#,razor,C#,Razor,我试图遍历一个图像数组,让它在一行中有3个图像之后转到下一行。Razor告诉我在if语句中不需要“@”字符,这会导致语法错误。然而,当我删除它们时,它会告诉我缺少一个结束括号。我在任何地方都看不到缺少的括号。这是我的密码 <!-- MATRIX --> <div> <table class="table table-responsive"> <tr> @{ int c = 0; } @foreac
<!-- MATRIX -->
<div>
<table class="table table-responsive">
<tr>
@{
int c = 0;
}
@foreach (var x in portifolioImages)
{
c++;
<td><img src="@x.UmbracoFile" alt="@x.imageTitle" style="margin:0 auto;" /></td>
@if (c == 3)
{
</tr><tr>
}
}
</tr>
</table>
</div>
<!-- END MATRIX -->
@{
int c=0;
}
@foreach(portifolioImages中的变量x)
{
C++;
@如果(c==3)
{
}
}
这一行
@if (c == 3)
{
</tr><tr >
}
但是当您的物品计数为3时,此代码仍将生成一个打开的tr标记。因此,您可能需要将该部件(打开tr)移至另一个if状态。这段代码应该工作得很好
<table>
@{ var counter = 1; }
@foreach (var item in Model.Events)
{
if (counter==1)
{
@:<tr>
}
<td>Your content</td>
if (counter % 3 == 0)
{
@:</tr>
counter = 1;
}
counter++;
}
</table>
@{var counter=1;}
@foreach(Model.Events中的var项)
{
如果(计数器==1)
{
@:
}
你的内容
如果(计数器%3==0)
{
@:
计数器=1;
}
计数器++;
}
这一行
@if (c == 3)
{
</tr><tr >
}
但是当您的物品计数为3时,此代码仍将生成一个打开的tr标记。因此,您可能需要将该部件(打开tr)移至另一个if状态。这段代码应该工作得很好
<table>
@{ var counter = 1; }
@foreach (var item in Model.Events)
{
if (counter==1)
{
@:<tr>
}
<td>Your content</td>
if (counter % 3 == 0)
{
@:</tr>
counter = 1;
}
counter++;
}
</table>
@{var counter=1;}
@foreach(Model.Events中的var项)
{
如果(计数器==1)
{
@:
}
你的内容
如果(计数器%3==0)
{
@:
计数器=1;
}
计数器++;
}
没有回答这个问题,但是为什么要在这里使用一个表,而不仅仅是一堆带有CSS的div
元素呢?是的,我可以,但我只是在更改HTML。HTML不是我不认为的问题。如果删除If语句,代码将正常工作。它将图像放在一个大的行中,但至少执行正确。没有回答这个问题,但为什么在这里使用一个表,而不仅仅是一堆CSSdiv
元素?是的,我可以,但我只是在更改HTML。HTML不是我不认为的问题。如果删除If语句,代码将正常工作。它将图像放在一个大的行中,但至少执行正确。非常感谢。但是第一行是3列,其余的行只有2列。我会继续胡闹:)谢谢你,谢谢你。但是第一行是3列,其余的行只有2列。我会继续胡闹:)谢谢