我的页面想CSDN社区那么,不过右边我的是一个frameset下面有很多的frame,我左边的那棵树是在程序中动态添加一些子节点,在动态生成节点时我已经给子节点的NavigateUrl赋值了的,我想实现的是当我点击左边树的子节点时,再给子节点的Target赋值(子节点的链接窗口定位到哪个框架打开),很奇怪的是,我要点击两下左边子节点才有反应,而且当我一旦成功地为Target赋值了,我再点击这个子节点,就不能再给它赋值,我想要的是当点击就给它赋值,怎么实现,还有为什么要点击两下才有反应,而且这两下不能连续,要稍微有点间隔,请大家帮帮解决下,谢谢!

解决方案 »

  1.   

     protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            TreeView tree = (TreeView)sender;
            TreeNode tnd = tree.SelectedNode;
            tnd.Checked = true;
            if (this.DropDownList1.SelectedValue == "左上窗口")
            {
                tnd.Target = "Shipin1";
            }
            else if (this.DropDownList1.SelectedValue == "右上窗口")
            {
                tnd.Target = "Shipin2";
            }
            else if (this.DropDownList1.SelectedValue == "左下窗口")
            {
                tnd.Target = "Shipin3";
            }
            else if (this.DropDownList1.SelectedValue == "右下窗口")
            {
                tnd.Target = "Shipin4";
            }
            else
            {
            }
        }
    子节点的NavigateUrl属性在动态生成子节点时已经赋值,还有一个问题,打扰哈,就是我点击两次给Target属性赋值了后,假如我想将这个子节点的链接换个窗口打开,怎么办?我现在的效果得到的是一旦给Target赋值了,再给它赋值就赋不起了,怎么解决?谢谢!请帮我解决哈,谢谢了!小弟真诚的感谢你!
      

  2.   


    你再给你动态绑定树的代码里面加几句属性PNode.SelectAction = TreeNodeSelectAction.Expand;
      

  3.   

    我写了的,我写的是newNode.SelectAction = TreeNodeSelectAction.SelectExpand;但是没有反应,如果写成newNode.SelectAction = TreeNodeSelectAction.Expand是不会做的,不过很感谢你!
    我的是有反应,要我点两下才有反应,而且这两下不能联系,要稍微有那么一点间隔才有反应,还请教一个问题,就是我点击两次给Target属性赋值了后,假如我想将这个子节点的链接换个窗口打开,怎么办?我现在的效果得到的是一旦给Target赋值了,再给它赋值就赋不起了,怎么解决?谢谢!请帮我解决哈,谢谢了!小弟真诚的感谢你!
      

  4.   

    用 TreeNodeCheckChanged 这个事件
      

  5.   

    而且当我一旦成功地为Target赋值了,我再点击这个子节点,就不能再给它赋值,我想要的是当点击就给它赋值,怎么实现,这个是由于你写在了SelectedNodeChanged事件里由于节点没有改变(即你连续点击同一个节点),所以不会触发。具体怎么解决还不知道。