我在MasterPage左边放了一个树,点击树的节点url,在页面右半部分出现一个页面
当我再点击一个节点时,在页面右半部分出现另一个页面,这2个页面都继承自MasterPage1,请问,这种方法下,第二个页面显示时,第一个页面是关闭了还是隐藏了?
2,第一个页面的对象(实体)还存在吗?
3,假如第一个页面关闭了,我想在这个页面关闭事件的响应函数里做一些事情,我怎么维护第一个页面的关闭事件?在哪维护?

解决方案 »

  1.   

    当第一个页面显示的时候,在服务器端页面的生命周期已经结束了吧?也就是可以说是关闭了。即使有缓存,那也是结束了。参看:
    http://msdn.microsoft.com/zh-cn/library/ms178472%28VS.80%29.aspx
      

  2.   

    客户端呢,我有东西放在Session里了,我想客户端这个页关闭后清掉。
      

  3.   

    试试:
    要关闭的页面:
    <script>
    function CLoseWin()
    {
       //关闭页面
       //可以用ajax或是直接用xmlhttp组件到xx.aspx页面去处理..比如SESSION
    }
    </script>
    <body onunload="CLoseWin()">
       
    </body>
      

  4.   

    找不着直接用JS写吧
    <script> 
    window.onunload=CLoseWin;
    function CLoseWin() 

      //关闭页面 
      //可以用ajax或是直接用xmlhttp组件到xx.aspx页面去处理..比如SESSION 

    </script>   
      

  5.   


    写在什么地方?<script type="text/javascript">
        window.onunload = CLoseWin;
        function CLoseWin() {
            //关闭页面
            
            Session("choosearea") = null;
            Session("choosedpm") = null;
            //可以用ajax或是直接用xmlhttp组件到xx.aspx页面去处理..比如SESSION 
        } 
    </script> 
    这样行吗?
      

  6.   

    直接写在你要关才的页面中就行..
    <script type="text/javascript"> 
        window.onunload = CLoseWin; 
        function CLoseWin() { 
            //可以用ajax或是直接用xmlhttp组件到xx.aspx页面去处理..比如SESSION
    var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    xmlHttp.open("post","http://localhsot/CloseWIn.aspx",false);
    xmlHttp.setRequestHeader("context-type","text/xml;charset=utf-8");
    xmlHttp.onreadystatechange=function() 

        if(xmlHttp.readyState==4)//4代表成功返回数据 
        { 
          //下面的可以不写..其实直接能访问到CloseWIn.aspx就足够了
           var showstr=xmlHttp.responseText;
           if(showstr)
           {
               alert("关闭成功");
           }
        }
    }
    xmlHttp.send();
    </script>CloseWIn.aspx:Page_Load中
    Session("choosearea") = null; 
    Session("choosedpm") = null; 
    Response.Write("1");
    Response.End();
     
        } 
    </script>