我在c#中使用数组创建HTML列表时遇到问题。
我尝试使用split.string,foreach等。但仍然无法弄清楚逻辑... :( ..
有人可以帮我解决我的问题吗?
这是我的数组
List<string> listMenu = new List<string>();
listMenu.Add("Dashboard~View1");
listMenu.Add("Dashboard~View2");
listMenu.Add("Customer");
listMenu.Add("Part");
listMenu.Add("Part~Part1~Part11");
listMenu.Add("Part~Part1~Part12");
listMenu.Add("Part~Part2~Part21");
listMenu.Add("Part~Part2~Part22");
listMenu.Add("Part~Part3~Part31~Part311");
listMenu.Add("Part~Part3~Part31~Part312");
listMenu.Add("Branch");
我想创建这样的HTML列表:
<div id=menu>
<ul>
<li>Dahboard
<ul>
<li> View1 </li>
<li> View2 </li>
</ul>
</li>
<li> Customer
</li>
<li> Part
<ul>
<li> Part1
<ul>
<li> Part11
</li>
<li> Part12
</li>
</ul>
</li>
<li> Part2
<ul>
<li> Part21
</li>
<li> Part22
</li>
</ul>
</li>
<li> Part3
<ul>
<li> Part31
<ul>
<li> Part 311
</li>
</ul>
</li>
<li> Part 312
</li>
</ul>
</li>
</ul>
</li>
<li> Branch
</li>
</ul>
</div>
答案 0 :(得分:0)
您可以使用两种方法动态创建此列表:
您可以使用HtmlGenericControl结构,如下所示:
StringBuilder s = new StringBuilder();
s.Append(@"<div id=menu>
<ul>
<li>Dahboard
<ul>
<li> View1 </li>
<li> View2 </li>
</ul>
</li>
</ul>
</div> "); //you can alter this string dynamically
mainDiv.InnerHtml = s.ToString();
您可以使用StringBuilder创建一个字符串,并将此字符串作为InnerHtml分配给您的主div,如下所示:
<?php
$values = "aaa,bbb,ccc,ddd,";//Remove last comma
$values = "aaa,bbb,,,";//Remove all commas after bbb like aaa,bbb
?>
您应该将System.Web.UI.HtmlControls添加为使用 HtmlControls
您应该将System.Text添加为使用以使用StringBuilder。
- 添加字符串
奖励:您可以从here找到为什么要使用StringBuilder 而不是使用&#39; +&#39;。