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底部。