我在后台递归绑定了treeview 如下
    private void Page_Load(object sender, System.EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string sql = "select * from wfg_t_AdministratorMenu";
            ds = DB.DBHepler.Query(sql);
            bind(this.TreeView1.Nodes,"0");            
 
        }
    }
    public void bind(TreeNodeCollection trc,string fpid)
    {
        DataView dv = new DataView(ds.Tables[0]);
        dv.RowFilter = "FPid=" + fpid;
        TreeNode tn = null;
        foreach (DataRowView drv in dv)
        {
            tn = new TreeNode(drv["FItems"].ToString(), drv["fid"].ToString());
            trc.Add(tn);
            bind(tn.ChildNodes,drv["fid"].ToString());        }
 
    }
我想给每一个子节点都加上超链接 可以跳转各自的页面 怎么做啊!!!!
如果前台手动编辑treeview 是有NavigateUrlField这个属性的 
但我想用递归 怎么实现啊  在线等 求教大虾们!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    数据表中加一列,存储对应的URL,递归时,指定为NavigateUrl属性值
      

  2.   

    数据表中加一列,存储对应的URL,递归时,指定为NavigateUrl属性值在哪一步添加这个 能给写个例子吗?谢谢 急啊
      

  3.   

    tn.NavigateUrl = drv["FUrl"].ToString();
    比如说有一列值是url赋值不就可以了?
      

  4.   

    for (int i = 0; i < list.Count; i++)
            {
                SysFun sf = list[i];//得到一个实体
                if (nodeId == sf.ParentNodeId)
                {
                    TreeNode tn = new TreeNode(sf.DisPlayName);//添加子节点
                    tn.NavigateUrl = sf.NodeURL;//指定要跳转的页面
                    tn.Target = "mainFrame";//在对应的框架上显示
                    tree.ChildNodes.Add(tn);//将此节点添加到树形控件中
                }        }
    上面是我的一个例子,tn.NavigateUrl = sf.NodeURL就是要跳转到的页面,如楼上所说的在数据库中添加一个字段对应要跳转到的页面就可以了.
      

  5.   

    大家帮我看看我的问题 http://topic.csdn.net/u/20100802/21/25a6aecc-0cdf-47f7-ae0f-b34af320f995.html 谢谢了
      

  6.   

    数据表你要自己就更新数据
    private void BindChild(TreeNode parentNode)
        {
            IList<GTFileCategory> listChild = list.Where(m => m.ParentID == Int32.Parse(parentNode.Value.Split(';')[1])).OrderBy(m => m.CName).ToList();
            foreach (GTFileCategory c in listChild)
            {
                TreeNode node = new TreeNode();
                node.Text = c.CName; 
                node.ToolTip = c.CCode;
                node.Value = c.CCode ;
                node.NavigateUrl = c.URL;
                node.Target = "mainFrame";
                BindChild(node);
                parentNode.ChildNodes.Add(node);
            }
        }
      

  7.   

    TreeNode node= new TreeNode();
    node.Value="";
    node.NavigateUrl = "";
    node.Target = "";
    treeview1.Nodes.Add(node);