Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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# 循环追加div并重复_C#_Asp.net Mvc 4_Loops - Fatal编程技术网

C# 循环追加div并重复

C# 循环追加div并重复,c#,asp.net-mvc-4,loops,C#,Asp.net Mvc 4,Loops,我有这个密码 <div class="round-3-top"> <div class="round-2-top"> <div class="round-1-top"></div> <div class="round-1-bottom"></div> </div> <div class="round-2-bottom"> <div class="round-

我有这个密码

<div class="round-3-top">
  <div class="round-2-top">
    <div class="round-1-top"></div>
    <div class="round-1-bottom"></div>
  </div>

  <div class="round-2-bottom">
    <div class="round-1-top"></div>
    <div class="round-1-bottom"></div>
  </div>
</div>

<div class="round-3-bottom">
  <div class="round-2-top">
    <div class="round-1-top"></div>
    <div class="round-1-bottom"></div>
  </div>

  <div class="round-2-bottom">
    <div class="round-1-top"></div>
    <div class="round-1-bottom"></div>
  </div>
</div>

但我想动态生成,我怎么做

例:我有4轮,这将是生成的代码

    <div class="round-4-top">
      <div class="round-3-top">
          <div class="round-2-top">
            <div class="round-1-top"></div>
            <div class="round-1-bottom"></div>
          </div>

          <div class="round-2-bottom">
            <div class="round-1-top"></div>
            <div class="round-1-bottom"></div>
          </div>
        </div>
    <div class="round-3-bottom">
      <div class="round-2-top">
        <div class="round-1-top"></div>
        <div class="round-1-bottom"></div>
      </div>

      <div class="round-2-bottom">
        <div class="round-1-top"></div>
        <div class="round-1-bottom"></div>
      </div>
    </div>
</div>

 <div class="round-4-bottom">
      <div class="round-3-top">
          <div class="round-2-top">
            <div class="round-1-top"></div>
            <div class="round-1-bottom"></div>
          </div>

          <div class="round-2-bottom">
            <div class="round-1-top"></div>
            <div class="round-1-bottom"></div>
          </div>
        </div>
    <div class="round-3-bottom">
      <div class="round-2-top">
        <div class="round-1-top"></div>
        <div class="round-1-bottom"></div>
      </div>

      <div class="round-2-bottom">
        <div class="round-1-top"></div>
        <div class="round-1-bottom"></div>
      </div>
    </div>
</div>


我尝试在MVC中使用TagBuilder,但我做不到。应该发生的是,如果你是3轮,加上他应该进入每个分区,就像上面的例子。知道如何开发它吗?

您可以使用返回MVCHtmlString的MVC帮助程序来实现这一点。助手类如下所示。递归非常适合这种情况。 助手类

public static class Helpers
{
    public static MvcHtmlString GetStructure(int size)
    {
        return MvcHtmlString.Create(GetRecursiveStructure(size));
    }

    private static string GetRecursiveStructure(int size)
    {
        if (size == 0)
        {
            return "";
        }
        else
        {
            TagBuilder topTag = new TagBuilder("div");
            topTag.AddCssClass(string.Format("round-{0}-top", size));
            topTag.InnerHtml = GetRecursiveStructure(size - 1);
            TagBuilder bottomTag = new TagBuilder("div");
            bottomTag.AddCssClass(string.Format("round-{0}-bottom", size));
            bottomTag.InnerHtml = GetRecursiveStructure(size - 1);
            return topTag.ToString() + bottomTag.ToString();
        }
    }

}
在您看来,请执行以下操作:

@Helpers.GetStructure(4)

但是在这种情况下呢?在bottomwrap中,我需要将顶部改为底部,因此这里的图案是
topwrap->top | top-1 topwrap | top-1 bottomwrap
。基本上,您需要为>1==1设置一个步骤。在>1中,您有一个topwrap.InnerHtml=round3 top+递归调用的新标记。==1应仅具有round1顶部和round1底部。