当前位置:编程学习 > C#/ASP.NET >>

请教论坛高手帮忙解决窗体事件不执行的问题。

我用了一个窗体卸载的事件。想发送一个Ajax。
<body onunload="RunOnBeforeUnload()">

但是我发现如果浏览器过五分钟不关闭。这个事件就不被激活。

这是为什么。


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebHit.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script type="text/javascript" language="javascript">
    function RunOnBeforeUnload() 
    {
        onChangeCompany();
    } 
    function onChangeCompany() 

//接收表单的URL地址 
var url="WebForm3.aspx?cookid=<%=Cookid%>&cooktime=<%=nowTime%>"; 

//需要POST的值,把每个变量都通过&来联接 
var postStr = "cookid=<%=Cookid%>&cooktime=<%=nowTi
//实例化Ajax 
var ajax = InitAjax(); 
//通过Post方式打开连接 
ajax.open("POST", url, true); 
//定义传输的文件HTTP头信息 
ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
//发送POST数据 
//alert(postStr); 
ajax.send(postStr); 
//获取执行状态 
ajax.onreadystatechange = function() 

//如果执行状态成功,那么就把返回信息写到指定的层里 
if (ajax.readyState == 4 && ajax.status == 200) 





    function InitAjax() 

var ajax=false; 
try 

ajax=new ActiveXObject("Msxml2.XMLHTTP"); 

catch(e) 

try 

ajax=new ActiveXObject("Microsft.XMLHTTP"); 

catch(E) 

ajax=false; 


if(!ajax&& typeof XMLHttpRequest !='undefined') 

ajax=new XMLHttpRequest(); 

return ajax; 

    </script>
</head>
<body onunload="RunOnBeforeUnload()">
    <form id="form1" runat="server">
    <div>
    
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
    
    </div>
    </form>
</body>
</html>



我掐表算过!超过五分钟就到不了WebForm3.aspx里 --------------------编程问答-------------------- 居然没人会???? --------------------编程问答-------------------- 是不是cookid或nowtime系统没找到出了错。你自己调试一下
调试的话装了2008就可以进行js的调试。
或者通过火狐加调试插件调试一下。
调试的时候直接用click事件调用你写的js方法。如果没有问题的话就是事件的问题 --------------------编程问答-------------------- cookid或nowtime 那个地方没有错!应该是onunload="RunOnBeforeUnload()”

这里错误! --------------------编程问答--------------------
引用 3 楼 jingxuan86 的回复:
cookid或nowtime 那个地方没有错!应该是onunload="RunOnBeforeUnload()”

这里错误!


问题已解决? --------------------编程问答-------------------- 没解决!刚上网搜了一下!!好像是这里问题!但是还没解决! --------------------编程问答-------------------- 有人会解决吗!onunload="RunOnBeforeUnload()”
这个问题!
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,