在asp.net里用page_unload事件,结果发现当页面刷新时也执行page_unload事件,怎么让页面关闭时执行这个事件而在刷新时不执行呢?

解决方案 »

  1.   

    javascript捕获窗口关闭事件有两种方法 onbeforeunload()      ,onUnload()
     用法有两种:1.    function      window.onbeforeunload()      {      alert("关闭窗口")}           function      window.onunload()      {      alert("关闭窗口")}2.      在body 标签里加入onUnload事件         <body onUnload="myClose()">         然后在javascript里定义myClose()方法  区别:          onUnload方法是在关闭窗口之后执行          onbeforeUnload方法是在关闭窗口之前执行 说明:          两个方法在 页面关闭、刷新、转向新页面 时都触发。注:只在关闭窗口时触发,而页面刷新的时不触发。<script       language=javascript>   
          function       window.onbeforeunload()   
          {   
          if       (event.clientX>document.body.clientWidth       &&       event.clientY<0||event.altKey)            {   
                 window.event.returnValue="确定要退出本页吗?";   
                }         }
    </script>  
      

  2.   

    楼上正解,楼主没有必要用unload,你关闭窗口触发的事件可以通过其他方式,unload主要是在客户端显示之前执行的函数,清理一下~~
      

  3.   

    楼主,asp.net的page_unload不是你想像中的那样
    不是在关闭页面或是离开这个页面的时候执行
    面是在asp.net处理完页面后,发送到浏览器之前执行的
    与浏览器无关你要的效果,需要在javascript中做,楼上已经有人给出答案onbeforeunload
      

  4.   

    用js关闭吧
    <input type="button" onclick="window.close()" value="关闭窗口"/>
      

  5.   

    楼主可以这样试一下
    在pageunload事件中,写文件文件做记录
    看它是在什么时候发生的
      

  6.   

    试试!
        int flag =0;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
                flag = 0;
            else
                flag = 1;
        }    protected void Page_UnLoad(object sender, EventArgs e)
        {
            if(flag!=0)
            {
                 //执行语句
              }
        }
      

  7.   

    function unloadConfirm()
    {
        if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey){
            window.event.returnValue = "Are you sure?";
        }
    }
      

  8.   

    直接放在你html 里 单击关闭是自动获取
    <script type ="text/javascript">
    function unloadConfirm()
    {
        if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey){
            window.event.returnValue = "Are you sure?";
        }
    }