Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Razor页面中foreach的替代方案_C#_Asp.net Mvc_Razor_Asp.net Mvc 5_Razor 2 - Fatal编程技术网

C#Razor页面中foreach的替代方案

C#Razor页面中foreach的替代方案,c#,asp.net-mvc,razor,asp.net-mvc-5,razor-2,C#,Asp.net Mvc,Razor,Asp.net Mvc 5,Razor 2,我需要在ASP.NETMVC5站点的Razor页面中输出包含IEnumerable的复杂HTML 我想使用嵌套for循环来构造HTML-但是,如果所有对象输出都包含在foreach循环中,这是不可能的 除了使用foreach循环之外,还有什么方法可以这样做,从而获得序列中的下一个对象: if (x = 1) { for (var x=0; x<2; x++) { <div class="row"> for (var n=0

我需要在ASP.NETMVC5站点的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>
}
if(x=1)
{
对于(var x=0;x是的,这是可能的

  • 使用GetEnumerator获取对枚举器的引用
  • 调用movenext方法以移动到下一个元素
  • 请参阅此堆栈溢出帖子

    是的,有可能

  • 使用GetEnumerator获取对枚举器的引用
  • 调用movenext方法以移动到下一个元素
  • 请参阅此堆栈溢出帖子


    你的代码中有点不清楚你期望的输出是什么。你能给出一个简单的值和期望输出的例子吗“在许多情况下,这将允许更优雅的代码。”--为什么会这样?你需要一个
    循环来做什么?@duplode说我想要复杂的HTML结构-并且需要使用if条件(例如引导中的行和跨/列)-您需要大量@:来阻止Razor中出现错误。@StephenMuecke输出可能只是一个名称列表-关键是能够在我想要的时候获取下一个对象-不绑定到foreach循环-从而启用更复杂的结构-多个嵌套循环,而不是if语句,然后需要@:来减轻未关闭的html标记Razor中的错误。您的代码中有点不清楚您对此的预期输出是什么。您能否给出一个简单的值和预期输出示例“在许多情况下,这将允许更优雅的代码。”--为什么会这样?你需要一个
    循环来做什么?@duplode说我想要复杂的HTML结构-并且需要使用if条件(例如引导中的行和跨/列)-您需要大量@:来阻止Razor中出现错误。@StephenMuecke输出可能只是一个名称列表-关键是能够在我想要的时候获取下一个对象-不绑定到foreach循环-从而启用更复杂的结构-多个嵌套循环,而不是if语句,然后需要@:来减轻未关闭的html标记Razor中的错误。谢谢!为了改进未来用户的答案,有没有可能在这里粘贴代码示例?我在这里引用的链接包含示例代码,我不想复制和粘贴代码,所以我引用了代码。可能将来我会开始粘贴示例代码。谢谢-堆栈溢出就像答案中的代码一样-而不是usi我想是为了方便起见,为了防止将来某个时候链接失效。我在这里粘贴了-thx。当有枚举器时,枚举器将文本“True”输出到页面上。MoveNext()语句没有if。你知道如何停止吗?(我可以插入一个空if,但它不是很优雅).thx。谢谢!为了改进未来用户的答案,有没有可能在这里粘贴代码示例?我在这里引用的链接包含示例代码,我不想复制和粘贴代码,所以我引用了代码。可能将来我会开始粘贴示例代码。谢谢-堆栈溢出就像答案中的代码一样-而不是使用external引用-我想是为了方便-以防将来某个时候链接失效。我在这里粘贴了-thx。当有枚举器时,枚举器将文本“True”输出到页面。MoveNext()语句没有if。你知道如何停止吗?(我可以插入一个空if,但它不是很优雅)。thx。
    
    var enumerator = getInt().GetEnumerator();
    while(enumerator.MoveNext())
    {
        var MyObject = enumerator.Current;
        Console.WriteLine(MyObject.Property);
    }