ASP.NET TreeView 递归绑定数据

 187713732 asp.net 交流群,希望有更多的人可以加入,大家可以互相学习,帮助需要帮助的人,帮助刚入门的同行或即将入门的同行解决问题。
DAL方法,BLL省略 
public static List<SysFun> GetSysFunByParentNodeId(int parentNodeid)
       {
           List<SysFun> listSysFun = new List<SysFun>();
           string sql = " SELECT *  FROM [MYBOOKSHOP].[dbo].[SysFun] WHERE ParentNodeId =@parentNodeid ";
           SqlParameter[] par = 
           {
               new SqlParameter("@parentNodeid",parentNodeid)
           };
           using (SqlDataReader sqlReader =DBHelper.GetReader(sql,CommandType.Text,par))
           {
               while (sqlReader.Read())
               {
                   SysFun sysFun = new SysFun();
                   sysFun.NodeId = (int)sqlReader["NodeId"];
                   sysFun.DisplayName = sqlReader["DisplayName"].ToString();
                   sysFun.ParentNodeId = (int)sqlReader["ParentNodeid"];
                   listSysFun.Add(sysFun);
               }
           }
           return listSysFun;
       }

       public static List<SysFun> GetSysFun(int parentNodeid)
       {
           List<SysFun> listSysFun = new List<SysFun>();
           string sql = " SELECT *  FROM [MYBOOKSHOP].[dbo].[SysFun] WHERE ParentNodeid =@parentNodeid ";
           SqlParameter[] par = 
           {
               new SqlParameter("@parentNodeid",parentNodeid)
           };
           using (SqlDataReader sqlReader = DBHelper.GetReader(sql, CommandType.Text, par))
           {
               while (sqlReader.Read())
               {
                   SysFun sysFun = new SysFun();
                   sysFun.NodeId = (int)sqlReader["NodeId"];
                   sysFun.DisplayName = sqlReader["DisplayName"].ToString();
                   sysFun.ParentNodeId = (int)sqlReader["ParentNodeid"];
                   listSysFun.Add(sysFun);
               }
           }
           return listSysFun;
       }
 
页面后台代码:
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            TVSysFun.ExpandDepth = 0;
            BindTreeView();
        }
        

    }
    private void BindTreeView()
    {
        
        List<SysFun> list = BookManager.GetSysFun(0);
        //遍历父节点
        foreach (SysFun parentNode in list)
        {
            TreeNode pNode = new TreeNode();
            pNode.Value = parentNode.NodeId.ToString();
            pNode.Text = parentNode.DisplayName.ToString();

            //遍历父节点下的子节点
            List<SysFun> childNode = BookManager.GetSysFunByParentNodeId(Convert.ToInt32( parentNode.NodeId));
            foreach (SysFun cNode in childNode)
            {
                TreeNode node = new TreeNode();
                node.Value = cNode.NodeId.ToString();
                node.Text = cNode.DisplayName.ToString();
                pNode.ChildNodes.Add(node);
            }
            TVSysFun.Nodes.Add(pNode);
        }
    }


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值