混淆在数组上创建HTML列表

时间:2016-09-22 10:52:04

标签: c# html asp.net arrays

我在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>

1 个答案:

答案 0 :(得分:0)

您可以使用两种方法动态创建此列表:

  1. 您可以使用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();
    
  2. 您可以使用StringBuilder创建一个字符串,并将此字符串作为InnerHtml分配给您的主div,如下所示:

    <?php    
        $values = "aaa,bbb,ccc,ddd,";//Remove last comma
        $values = "aaa,bbb,,,";//Remove all commas after bbb like aaa,bbb
    ?>
    
  3.   
        
    • 您应该将System.Web.UI.HtmlControls添加为使用   HtmlControls

    •   
    • 您应该将System.Text添加为使用以使用StringBuilder。

    •   
    • 奖励:您可以从here找到为什么要使用StringBuilder   而不是使用&#39; +&#39;。

    • 添加字符串