关闭网页时我用JavaScript的onunload事件执行,调用方法执行到一半它就退出了,为什么??
是不是onunload事件有时间限制啊,超过这个时间就不在往下执行(退出了)??怎么解决?在线等。

解决方案 »

  1.   


    31.点插关闭页面时的js:
    <head>
    <script type="text/javascript">
        function show()
        {
             alert("test");
        } </script>    
    </head>
    <body onunload ="javascrip:show();">
        <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server"></asp:Label>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></div>
        </form>
    </body>
      

  2.   

    在js中,如果想点击窗口右上角的关闭按钮后触发的事件为 
    <script> 
    function window.onbeforeunload(){ } 

    </script> 
      

  3.   

    我也是这样写的。然后我在这个方法中通过Ajax去执行数据库,可是执行了一半就退出了。?????????
      

  4.   

    源码如下:<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript">
            var exitxmlHttp;
           
            function exitCreateXMLHttpRequest()
            {
                if(window.ActiveXObject)
                    exitxmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                if(window.XMLHttpRequest)
                    exitxmlHttp=new XMLHttpRequest();
            }
            
            function exitW()
            {
                exitCreateXMLHttpRequest();
                
                exitxmlHttp.open("get",encodeURI("ExitAjax.aspx?zhanghao="+document.getElementById("HiddenField1").value+"&date="+new Date().getTime()),true);
                exitxmlHttp.onreadystatechange=exitXMLHttpChange;
                exitxmlHttp.send(null); 
            }
            
            function exitXMLHttpChange()
            {
                if(exitxmlHttp.readyState==4)
                {
                    if(exitxmlHttp.status==200)
                    {
                        var hs=exitxmlHttp.responseText;
                        
                        if(hs!=1)
                            alert("退出失败!");
                        else
                            alert("ccc");
                    }
                }      
            }
        </script>
    </head>
    <body style="font-size:10pt" onbeforeunload="exitW()">
    Ajax:using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.OleDb;public partial class ExitAjax : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            OleDbConnection upCon = new OleDbConnection(OleDbTest.con_str);
            upCon.Open();        OleDbCommand upCmd = new OleDbCommand("update LTUser set Status='lixian' where ZhangHao='" + Request.QueryString["zhanghao"] + "'", upCon);
            int hs = upCmd.ExecuteNonQuery();        upCmd.Dispose();
            upCon.Dispose();
            Response.Write(hs);
            Response.End();
        }
    }
      

  5.   

    <SCRIPT FOR=window EVENT=onunload> </SCRIPT>
    或者用这种方式试试 
      

  6.   


    那是传到一个aspx页了,先在aspx页设置一个断点,看值传过来没有,值没传过来,就是ajax代码有问题
      

  7.   


    我设断点跟踪了一下,正好要执行到OleDbConnection upCon = new OleDbConnection(OleDbTest.con_str); 
    这句话时,它就退出了。??
      

  8.   


    FOR=window EVENT=onunload   是什么意思?
      

  9.   

    FOR=window EVENT=onunload  是什么意思?绑定事件为ouunload但你的事件已经执行了。应该不是这个原因可能和更新代码有关
      

  10.   

    onbeforeunload和onunload都不行啊。我用onload它就能全部执行完毕。所以Ajax代码绝对没问题。我怀疑onbeforeunload和onunload这两个事件是不是有时间限制啊??
      

  11.   

    我用onload它就能全部执行完毕。所以Ajax代码绝对没问题。 我怀疑onbeforeunload和onunload这两个事件是不是有时间限制啊??
      

  12.   

    Asp.net  有关闭网页事件吗??
      

  13.   


    一个一个判断
    1.先判断
    Request.QueryString["zhanghao"] 是否为空,在page_load里面加上
     string value= (Request.QueryString["zhanghao"] != null) ? Request.QueryString["zhanghao"].ToString() : "";退出报什么错?
      

  14.   

    Request.QueryString["zhanghao"].ToString() 就算是空的话,它执行Sql语句返回受影响的行数是0 ,无所谓的。我不是说了吗,我用onload事件,它能全部执行完毕,一点错都没有,所以不是代码的问题。
    我怀疑onbeforeunload和onunload这两个事件是不是有时间限制啊??
      

  15.   

    QQ群:78824265
    讨论:Asp.Net/C#/Asp/Access/Sql Server;css,html,js,ajax;网站经营;爱情;工作;人生;  
      

  16.   

    是不是因为你在退出的时候请求页面,IE会在关闭时断开和服务器的连接,而这时操作还没有完成,但请求页面的生命周期随着IE断开连接结束,所以你执行操作的代码也因此而中断。
    你把执行的代码放到全局页面试试。
    愚见啊,不知道对不