我需要在ASP.NET MVC 5站点的Razor页面中输出包含IEnumerable的复杂HTML。
我想使用嵌套的for循环来构造HTML - 但是,如果所有对象输出都包含在foreach循环中,这是不可能的。
不是使用foreach
循环,有没有办法做这样的事情来获得序列中的下一个对象:
if (x = 1)
{
for (var x=0; x<2; x++)
{
<div class="row">
for (var n=0; n<4; n++)
{
<div class="a">
Model.GetNextObject.Name
</div>
}
</div>
}
}
else
{
<div class="b">
Model.GetNextObject.Name
</div>
}
在许多情况下,这将允许更优雅的代码。
这可能吗?
答案 0 :(得分:4)
是的,有可能,
参考此堆栈溢出帖子 Using IEnumerable with for loops
var enumerator = getInt().GetEnumerator();
while(enumerator.MoveNext())
{
var MyObject = enumerator.Current;
Console.WriteLine(MyObject.Property);
}