Private Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Unload
        Dim cmd As SqlCommand = New SqlCommand("tbomdetail_log1_update", cn)
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Parameters.Add(New SqlParameter("@suserno", SqlDbType.VarChar, 30))
        cmd.Parameters("@suserno").Value = tbUserNo.Text
        cn.Open()
        cmd.ExecuteNonQuery()
        cn.Close()
    End Sub我用Sub Page_Unload是做不到的,谢谢大家

解决方案 »

  1.   

    关注一下,我觉得不太可能关闭浏览器的行为似乎页面无法记录的,否则很多session会话问题就不用那么笨拙的方式来做了
      

  2.   

    Page_Unload在服务器控件生存期的此阶段,服务器控件应执行所有最后的清理操作,例如关闭文件、关闭数据库连接和丢弃对象。根本不是你想象的那样,执行完这个方法后,生成的HTML才发往客户端。
    然后客户端才能看到服务器返回的页面。
    你可以考虑客户端JS的窗口事件。
      

  3.   

    web程序中捕捉页面关闭不太容易,不知道哪位高手有没有好的方法
      

  4.   

    <frameset border="0" frameborder="0" onunload="doonunload()"><script language="javascript">
    function doonunload(){
    send_request("http://localhost/job_manager/Tooltip.aspx?id=doonunload");
    alert('程序结束');
    }
    //后台请求函数
    function send_request(url){
    var tempval;//接收服务端返回
    var http_request = false;
    //开始初始化 XMLHttpRequest 控件,周期 new,open,send,responseText
    //Mozila 浏览器
    if(window.XMLHttpRequest){
    http_request = new XMLHttpRequest();
    if(http_request.overrideMimeType){
    http_request.overrideMimeType("text/xml");//设置 MiMe 类别
    }
    }
    //IE 浏览器
    if (window.ActiveXObject){
    try{
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(e){}
    try{
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){}
    }
    //判断创建实例是否失败
    if(http_request){
    http_request.onreadystatechange = function(){
    if(http_request.readyState == 4){
    if(http_request.status == 200){
    tempval = http_request.responseText;//得到回应
    }
    }
    }
    http_request.open("post",url,false);//确定发送请求的方式和URL以及是否同步执行下段代码
    http_request.send(null);
    } else {
    tempval = "IE ERROR";
    }
    return tempval;
    }
    </script>////private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    string id = "";
    id = Request.Params["id"].ToString();
    if(id == "doonunload")
    {
    Session.Clear();
    }
    }
      

  5.   

    以上代码是C#的,可以捕捉到框架的关闭来清空Session