我有ViewBag
,可以有一两个。如果计数是1,那么我想要一些Html重复,如果计数是2,那么我希望循环正常执行。
for(int i = 0; i < ViewBag.Address; i++)
{
if(i== 0) {
<b>Current Address</b>
}
else{
<b>Permanent Address</b>
}
<input type="text" value="@ViewBag.Address[i].Addreess1" />
<input type="text" value="@ViewBag.Address[i].Addreess1" />
//I tried doing something like
i = ViewBag.Address.Count == 1 ? 0: 1;
}
但是这里循环不断重复,无论如何都要检查计数是否为1然后再次重复循环,否则继续按ViewBag中的项目进行渲染。
答案 0 :(得分:1)
你不能只是移动这句话:
MUTABLE_REFERENCE
像这样在循环里面?
i = ViewBag.Address.Count == 1 ? 0: 1;
答案 1 :(得分:0)
这可能就是你想要的:
@switch (ViewBag.address.Count)
{
case 1: // some set of Html to repeat
@for (int i = 0; i < length; i++)
{
<span> some Html item</span>
}
break;
default: // loop executes normally
foreach (var item in ViewBag.Address)
{
<b>@item.SomeProperty</b>
<input type="text" value="@item.Addrees" />
}
}
答案 2 :(得分:0)
以防万一你关心伯爵 -
var count = @Enumerable.Count(ViewBag.Address)
,然后 - 强>
@if(count==2)
@if(count==1)
纠正代码 -
@{
var count = Enumerable.Count(ViewBag.Address);
}
@foreach (var item in ViewBag.Address)
{
if (count == 2)
{
<b>Current Address</b>
}
else
{
<b>Permanent Address</b>
}
<input type="text" value="@item.Addreess1" />
<input type="text" value="@item.Addreess1" />
}