其它方法是有的,你在生成节点的时候指定NavigateUrl

解决方案 »

  1.   

    比如果在本程序中执行某个过程,这个过程需要取得点击的node的text
      

  2.   

    代码仅供参考,注意最下面的一行,对navigateurl的定义,
    你的数据库结构可能和我的不同,不过方法是一样的,
    myTreeNode.GetNodeIndex().ToString()换成myTreeNode.NodeText
    还可以根据需要传递更多的节点信息,这些信息在目标页面处理。
    good luck!
    ===================================================================
    //生成TREE的所有节点
    public static void CreateParentTree(Microsoft.Web.UI.WebControls.TreeView TreeView1)
    {
    string Parent="-1";
    string SqlStr="select * from BBSInfo where Parent='"+Parent+"' order by id asc";
    DataSet ds =GetDataSet(SqlStr);
    int i=0;
    int NodeNum=ds.Tables[0].Rows.Count;
    for(i=0;i<NodeNum;i++)
    {
    Microsoft.Web.UI.WebControls.TreeNode  myTreeNode=new Microsoft.Web.UI.WebControls.TreeNode();
    myTreeNode.Text=ds.Tables[0].Rows[i].ItemArray[1].ToString();
    myTreeNode.ImageUrl=TreeViewCloseImagePathString;
    myTreeNode.ExpandedImageUrl=TreeViewExpandImagePathString;
    TreeView1.Nodes.Add(myTreeNode);
    CreateChildTree(myTreeNode,ds.Tables[0].Rows[i].ItemArray[0].ToString(),ds.Tables[0].Rows[i].ItemArray[1].ToString());
    }
    }
    ///初始化TREE子节点
    public static void  CreateChildTree(Microsoft.Web.UI.WebControls.TreeNode ParentNode,string NodeId,string  ParentNodeText)
    {
    string SqlQueryString="select * from BBSInfo where Parent='"+NodeId+"' order by id asc";
    DataSet ds=GetDataSet(SqlQueryString);
    int i=0;
    int NodeNumber=ds.Tables[0].Rows.Count;
    for(i=0;i<NodeNumber;i++)
    {
    Microsoft.Web.UI.WebControls.TreeNode  myTreeNode=new Microsoft.Web.UI.WebControls.TreeNode();
    string RoomId=ds.Tables[0].Rows[i].ItemArray[0].ToString(); 
    myTreeNode.Text=ds.Tables[0].Rows[i].ItemArray[1].ToString();
    myTreeNode.ImageUrl=TreeViewChildNodeImagePathString;
    ParentNode.Nodes.Add(myTreeNode);
    myTreeNode.NavigateUrl="ShowSubject.aspx?Room="+RoomId+"&SelNodeId="+myTreeNode.GetNodeIndex().ToString()+"&ParentId="+ParentNode.GetNodeIndex().ToString();


    }
    }
      

  3.   

    还有,假如你的nodetext有中文的话,先用urlencode方法编码,在目标页面直接取值,