千家信息网

asp.net中TreeView如何递归循环子节点生成树形菜单

发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,这篇文章给大家分享的是有关asp.net中TreeView如何递归循环子节点生成树形菜单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:这里主要用到递归循环获取子结
千家信息网最后更新 2025年01月30日asp.net中TreeView如何递归循环子节点生成树形菜单

这篇文章给大家分享的是有关asp.net中TreeView如何递归循环子节点生成树形菜单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体如下:

这里主要用到递归循环获取子结点

/// /// 生成根节点/// /// protected void BindTreeView(long ID, TreeView treeview){    DataTable dt = menuLogic.GetMenu2(ID, User.Identity.Name);    treeview.Nodes.Clear();    DataRow[] parentrow = dt.Select("par_id=0");    for (int i = 0; i < parentrow.Length; i++)    {      TreeNode rootnode = new TreeNode();      rootnode.Text = parentrow[i]["node_name"].ToString(); //parentrow[i][3].ToString();      rootnode.Value = parentrow[i]["ID"].ToString(); //parentrow[i][1].ToString(); 主键      rootnode.Expanded = true;      rootnode.Selected = false;      rootnode.SelectAction = TreeNodeSelectAction.None;      treeview.Nodes.Add(rootnode);      CreateChildNode(rootnode, dt); //    }}/// /// 生成子节点/// /// /// protected void CreateChildNode(TreeNode parentNode, DataTable datatable){    DataRow[] rowlist = datatable.Select("par_id=" + parentNode.Value);    for (int i = 0; i < rowlist.Length; i++)    {      TreeNode node = new TreeNode();      if (datatable.Select("par_id=" + rowlist[i]["ID"].ToString().Trim()).Length > 0)      {        node.Text = rowlist[i]["node_name"].ToString();        node.Value = rowlist[i]["ID"].ToString();      }      else      {        node.Text = "" + rowlist[i]["node_name"].ToString() + "";        node.Value = rowlist[i]["ID"].ToString();      }      node.Expanded = false;      node.Selected = false;      node.SelectAction = TreeNodeSelectAction.None;      parentNode.ChildNodes.Add(node);      CreateChildNode(node, datatable); //递归调用    }}

感谢各位的阅读!关于"asp.net中TreeView如何递归循环子节点生成树形菜单"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0