如何创建一个嵌套的项目符号列表(How to create a nested bulleted li

2019-09-20 08:41发布

我使用ASP.net C#和我想有一个名单,我可以动态的代码看起来有点这样的:


  • 菜单项
    • 子菜单链接1
    • 子菜单链接2
    • 子菜单链接3

到目前为止,我已经设法通过这样做是为了创建第一个过去:

BulletedList MainUl = new BulletedList();
MainUl.DisplayMode = BulletedListDisplayMode.HyperLink;
ListItem item = new ListItem("Menu Item A", "http://www.google.com");
MainUl.Items.Add(item);            
panel.Controls.Add(MainUl);

问题是我不知道如何嵌套主要的“菜单项”下的其他子项

任何帮助是极大的赞赏 :)

Answer 1:

尝试使用此代码

<asp:Menu ID="Menu1" runat="server" StaticDisplayLevels="3">
  <Items>
    <asp:MenuItem Text="Menu Item A" Value="0">
      <asp:MenuItem Text="Sub Menu Link 1" Value="1"></asp:MenuItem>
      <asp:MenuItem Text="Sub Menu Link 2" Value="2"></asp:MenuItem>
      <asp:MenuItem Text="Sub Menu Link 3" Value="3"></asp:MenuItem>
    </asp:MenuItem>
  </Items>
</asp:Menu>

还是这个代码

<asp:TreeView ID="MyTreeView" Runat="server">
  <Nodes>
    <asp:TreeNode Value="0" Expanded="True" Text="Menu Item A">
      <asp:TreeNode Text="Sub Menu Link 1" Value="1" />
      <asp:TreeNode Text="Sub Menu Link 2" Value="2" />
      <asp:TreeNode Text="Sub Menu Link 3" Value="3" />
    </asp:TreeNode>
  </Nodes>
</asp:TreeView>


Answer 2:

或者您可以使用DataControl (DataList的,直放站,GridView控件)与BulletedList 。 你应该尝试菜单或树视图控制。



Answer 3:

使用树视图

 protected void Page_Load(object sender, EventArgs e)
 {
 TreeNode pn = new TreeNode("Menu Item A");
     TreeNode cn1 = new TreeNode("<a href='http://www.google.com.pk/' >Sub Menu Link 1</a>");
    TreeNode cn2 = new TreeNode("<a href='http://www.google.com.pk/' >Sub Menu Link 2</a>");
    TreeNode cn3 = new TreeNode("<a href='http://www.google.com.pk/' >Sub Menu Link 3</a>");

    TreeView tv = new TreeView();
    tv.Nodes.Add(pn);

    tv.Nodes[0].ChildNodes.Add(cn1);
    tv.Nodes[0].ChildNodes.Add(cn2);
    tv.Nodes[0].ChildNodes.Add(cn3);        

    panel.Controls.Add(tv);
 }

输出:

Menu Item A
Sub Menu Link 1
Sub Menu Link 2
Sub Menu Link 3


文章来源: How to create a nested bulleted list