越详细越好
 protected void tv_project_SelectedNodeChanged(object sender, EventArgs e)
    {
        Datasource1.EditItemIndex = -1;
        Datasource1.SelectedIndex = -1;
        project_bind();
        
        
        string oldpath=(String)Session["oldnodepath"];
        string newpath = tv_project.SelectedNode.ValuePath;
        //string temppath = this.max_substring(path, tv_project.SelectedNode.ValuePath);        //首次点击
        if (oldpath == null)
        {
            //插入当前结点的孩子结点
            node_insert(tv_project.SelectedNode, 1);        }
        else
        {
            //原路深入
            if (oldpath != null && (newpath + "/").Contains(oldpath + "/"))
            {
                //插入当前结点的孩子结点
                node_insert(tv_project.SelectedNode, 1);
                tv_project.SelectedNode.Expand();
            }
            else
            {

解决方案 »

  1.   

    恩是的,是关于TREEVIEW的
    想知道下详细的解释,谢谢!
    特别是这句怎么理解呢?
    string oldpath=(String)Session["oldnodepath"]; 
      

  2.   


    protected void tv_project_SelectedNodeChanged(object sender, EventArgs e) 
        { 
            Datasource1.EditItemIndex = -1; 
            Datasource1.SelectedIndex = -1; 
            project_bind(); //绑定数据。
            
            
            string oldpath=(String)Session["oldnodepath"]; //被选过的节点(父节点)。
            string newpath = tv_project.SelectedNode.ValuePath; //当前被选中的节点。
            //string temppath = this.max_substring(path,tv_project.SelectedNode.ValuePath);         //首次点击 
            if (oldpath == null) 
            { 
                //插入当前结点的孩子结点 
                node_insert(tv_project.SelectedNode, 1);         } 
            else 
            { 
                //原路深入 
                if (oldpath != null && (newpath + "/").Contains(oldpath + "/")) //若包含子节点
                { 
                    //插入当前结点的孩子结点 
                    node_insert(tv_project.SelectedNode, 1); 
                    tv_project.SelectedNode.Expand(); //展开节点
                } 
                else 
                { 
      

  3.   

    string oldpath=(String)Session["oldnodepath"]; 
    把 Session 的 oldnodepath 字段转换成 string 格式,并赋值给 oldpath 变量,大概是这样的,没细看你的代码,这段代码有很多变量是全局的,因为在使用之前并没有赋值,也没有通过参数的形式进行传递,不太好。