当前位置:编程学习 > C#/ASP.NET >>

asp.net treeview

我现在得项目是想实现点击左侧iframe中的treeview中的节点,将值传给父窗体中的lable,同时将关联界面显示到右边的iframe,现在能实现,但是selectnodechangged事件老是点第一次不跳转,只传值,点第二次才跳转,请问有什么好的解决方法吗?部分代码

 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            int i = 0;
            string str = "";

            TreeNode node = TreeView1.SelectedNode;
            while (i <= TreeView1.SelectedNode.Depth)
            {
                string temp = "";
                if (node.Value.Trim() == string.Empty)
                {
                    temp = "--><a href=#><font color=white>" + node.Text + "</font></a>";
                }
                else
                {
                    temp = "--><a href=" + node.Value + " target=if2><font color=white>" + node.Text + "</font></a>";
                }
                str = temp + str;
                node = node.Parent;
                i++;
            }

            Response.Write("<script>window.parent.document.getElementById('lbl1').innerHTML='" + str + " '</script>");
            TreeView1.SelectedNode.NavigateUrl = TreeView1.SelectedNode.Value;
            TreeView1.SelectedNode.Target = "if2";
        }
--------------------编程问答-------------------- http://topic.csdn.net/u/20120524/10/0588ab9d-5d2c-4698-8901-bb6333142d3c.html  
http://topic.csdn.net/u/20120529/15/75e6c9d9-5f55-4713-b341-fbf1cb52fe05.html
http://topic.csdn.net/u/20120528/17/8fc50d63-d913-4187-9354-da7310ec8efa.html
http://topic.csdn.net/u/20120528/08/81a0f676-1cad-4dcf-96bf-71cbf88e3775.html
领分 
  

顺便帮顶!!!!!!! --------------------编程问答-------------------- 参考
 //获取节点ID值
        protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            TreeNode tnodeSel = TreeView1.SelectedNode;
            //判断是否为根节点 执行函数改变是否选择节点的状态
            if (tnodeSel.Depth == 1)
            {
                FN_TreeSelect(TreeView1.SelectedNode);
            }
            //不是根节点也继续执行
            else if (tnodeSel.Depth != 1)
            {

                FN_TreeSelect(TreeView1.SelectedNode);
            }
            else
            {
                FN_TreeSelect(TreeView1.SelectedNode);
            }
        }
        //解决重复点击SelectedNodeChanged无法响应的问题
        private void FN_TreeSelect(TreeNode tnodeSel)
        {
            //判断选中的节点ID是否为空
            if (this.TreeView1.SelectedNode.Value.ToString() != null)
            {
                GetFolderId = this.TreeView1.SelectedNode.Value.ToString(); //取得节点ID
                FolderName = this.TreeView1.SelectedNode.Text.ToString();  //取得节点名称
                Session["id"] = GetFolderId;//存放节点ID
                Session["FolderName"] = FolderName; //存放节点名称
            }
            //注册脚本语言传递FolderId
            Page.ClientScript.RegisterStartupScript(Page.GetType(), "js", "window.parent.frames['RightFrame'].location.href='../PublicResources/PublicResources.aspx?id=" + GetFolderId + "&FolderName=" + FolderName + "'", true);
            /*点击图标等于点击+ -展开收缩*/
            //if( tnodeSel.ChildNodes.Count > 0 )
            //{

            //    //if( tnodeSel.ChildNodes[0].Expanded == true )
            //    //{
            //    //    tnodeSel.CollapseAll();
            //    //}
            //    //else
            //    //{
            //    //    tnodeSel.Expand();
            //    //}
            //}
            //当对一个节点进行SelectedNodeChanged后,如果再次连续单击这个节点,则SelectedNodeChanged不会再触发,为了使SelectedNodeChanged每次都执行,要进行如下操作:在SelectedNodeChanged事件里,对选中的节点马上将其Selected属性置为false
            tnodeSel.Selected = false;
        }
--------------------编程问答-------------------- 为什么不在生成树的时候,就把NavigateUrl这个属性绑定好呢。。点击时候直接不就可以连接了。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,