是Session_end事件没有执行,还是其中得代码没有起到你想要得作用?

解决方案 »

  1.   

    protected void Session_End(Object sender, EventArgs e)
    {
        string update = "UPDATE Users SET Online='0' WHERE UserID='" +
    Session["UserID"].ToString() + "'"; SqlCommand cmd = new SqlCommand(update,conn);
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    }以上是在Global中的代码,代码没有错误,在其他地方运行正常。但在这里就不行,我把它放在Application_End中也不行,在Global中是不是有什么特别设置?良子大侠有何高招?
      

  2.   

    再次向高手发出SOS请求!请高手关注一下第三世界国家!
      

  3.   

    你想要的功能是无法在服务器端直接实现的。你可以用JAVASCRIPT在客户端捕捉那个关闭的事件,然后想办法给服务器发个消息(如打开服务器端的一个WEBFORM,然后在那个FROM的LOAD事件中执行你想要的功能。
      

  4.   

    对于你那个Session_end事件,它不一定什么时候执行。因为服务器端不知道你是什么时候将浏览器给关了。
      

  5.   

    对于浏览器而言,用户至上是安全的保障,所以不允许关闭窗口时重定向,只能window.opentop.htm:<body unload="windoe.open('save.aspx',null,'toolbar=0,left=10000')">u can update database in the save.aspxbecause left=10000 .. the new window be move out screen. when done u can: window.close()