你第一次点击是设置节点的NavigateUrl为新的值,第二次点击是打开NavigateUrl对应的页面吧?

解决方案 »

  1.   

    第一次点击因为选中的节点已更改,所以触发TreeView2_SelectedIndexChange事件然后被设置了一个NavigateUrl,但因为程序并不能自动产生点击节点的动作,所以你必须要再点一下以实现加载新页面的目的。
    为什么要在TreeView2_SelectedIndexChange事件中改变NavigateUrl呢?你完全可以用js脚本控制啊。
    function tree_navigate(childnodetext, rootnodetext)
    {
     parent.frames.YourRightFrameName.src = right.aspx?childnodetext=" + childnodetext + "&&rootnodetext="+rootnodetext+"";
     parent.frames.YourRightFrameName.reload();//重新加载右框架页面,记不起来是什么方法了:(
    }
    只需要在设置TreeView时将node.NavigateUrl设置为"javascript:tree_navigate(" + Server.UrlEncode(node.Text) + "," + Server.UrlEncode(fathernodetext) + ")"
      

  2.   

    拜托哪位大侠给各完整的方法,重新加载右框架是什么方法啊?设置treeview的node.NavigteUrl是怎么设置?是在vs.net的属性里设置,还是在程序代码中设置?急等!
      

  3.   

    if (Request["nodeid"]!=null) // 做修改时,左边树才作刷新
    {
    Page.RegisterClientScriptBlock("js","<script>parent.frames(\"leftFrame\").document.location.reload();</script>");
    }
      

  4.   

    我希望的是点击左框架的treeview节点时能带参数到右框架中,并且马上刷新右框架,使它马上得到参数进行响应!