现在做一个frameset 有4个页面  分别是top main  bottom 
main左边有个iframe,里面也面是导航,用的是treeview
点击top上的一级菜单传值到iframe里,treeview显示2 3 4级菜单 
点击treeview的节点传值到main里,调用页面 
我用的方法是在top里 response.redirect(XX + param) 
现在的问题是 点击treeview节点以后,整个框架刷新了,treeview自动又刷新成第1个一级菜单的子菜单
比如一级菜单 中国  美国 点了美国后treeview就显示的是美国的子菜单,但点美国的子菜单以后,
页面刷新,treeview又变成了默认的中国子菜单.请问怎么解决? 我没有分 谢谢

解决方案 »

  1.   

    这应该是单击node回传了服务器导致的。查看网页源码可以看到:
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
     }你可以
    先屏蔽node单击后的回传事件:
    在编辑节点的时候将节点的SelectAction属性设置为Expand或者None.
    添加node的客户端处理代码把要的网页加载到main中。为treeview添加客户端事件:
    CS:TreeNode nodeF = new TreeNode(); nodeF.ID = drKs[0].ToString()+"\"  onclick=\"javascript:node_click('"+drKs[0].ToString()+"');";  //关键就在加红的这段代码。 nodeF.Text = drKs[1].ToString(); t_TjXmWh.Nodes.Add(nodeF);在前台代码中添加相应脚本:
    <SCRIPT language=javascript>
    <!--
     function node_click(text)
     {
      window.parent.frm_right.location.replace("aTjXmWh_right.aspx?Parameters="+text);
     }
    //-->
    </SCRIPT>
      

  2.   

    treeview 的节点 在绑定值的时候 设置一下 taget=maim