页面关闭时清掉session,写在哪里,请指教

解决方案 »

  1.   

    服务器在关掉最后一个页面时能自动清除Session,不需要你动手。
      

  2.   

    清除session--->Session.RemoveAll
    停止会话------>Session.Abandon
      

  3.   

    最好自己设SESSION的状态,不用时为一特殊值,用于判断!
      

  4.   

    服务器在关掉最后一个页面时能自动清除Session最后页面指什么因为我浏览A页面时需要session[x],B页面就不需要了,所以我想关闭A页面时就把session[x]清掉
    是这个意思,有办法吗
      

  5.   

    Page.OnUnload事件里去Session.Remove("name")
      

  6.   

    if(Session.Counst != 0)
    {
    Session.Clear()
    }
      

  7.   

    if you are using IE, try something like<script language="javascript">
    function window.onunload()
    {
      if (event.clientX < 0 && event.clientY <0)
        window.open("longout.aspx");
        

    </script>in logout.aspx:
    <%Session.Abandon()%>
      

  8.   

    Page.OnUnload事件不是关闭页面的时候执行的好像是页面读取完毕时执行的思归大哥的建议可以考虑但还有没有更好的方法
      

  9.   

    使用XMLHTTP,在后台将session清理了。
      

  10.   

    使用XMLHTTP,在后台将session清理了
    这是啥意思来着
      

  11.   

    因为我浏览A页面时需要session[x],B页面就不需要了,所以我想关闭A页面时就把session[x]清掉
    是这个意思,有办法吗==========================
    那你可以在B页面把这个session清除或者将它的值设为null就可以了
      

  12.   

    Add Close() function in saucer's code
    <script language="javascript">
    function window.onunload()
    {
      if (event.clientX < 0 && event.clientY <0)
      {
        var a=window.open("longout.aspx");
    a.close();
       }
      

    </script>in logout.aspx:
    <%Session.Abandon()%>
      

  13.   

    你使用完后在你的页面最后清除就好了嘛..在Page_Load的最后一行调用Session.Remove("aaa")
      

  14.   

    好像没什么好办法,这样弹出没这么明显aspx<script language="javascript">
    function window.onunload()
    {
      if (event.clientX < 0 && event.clientY <0)
      window.open("test.aspx?win=close");
        

    </script>cs
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(Request["win"]=="close")
    {
    Session.Abandon();
    Response.Write("<script language=javascript>window.opener=null;window.close();</script>");
    Response.End();
    }
    }
      

  15.   

    aspx<script language="javascript">
    function window.onunload()
    {
      if (event.clientX < 0 && event.clientY <0)
       {
          var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          xmlhttp.open("post","logout.asp",false);
          xmlhttp.send();
       }    

    </script>logout.asp:<%Session.Abandon%>
      

  16.   

    function window.onunload()
    也可换成
    function window.onbeforeunload()
      

  17.   

    Private Sub Page_UnLoad(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Session.RemoveAll() 
    End Sub
      

  18.   

    Page_Unload事件中Session.Abandon
      

  19.   

    Page_Unload事件是page加载完执行,不是关闭时执行
      

  20.   

    可以在事件里这样写,
    private void LinkButton1_Click(object sender, System.EventArgs e)
    {
    Session.Abandon();
    Response.Redirect("default.aspx");
    }
      

  21.   

    同意:Page_Unload事件是page加载完执行,不是关闭时执行
    就是因为听了这些人的话,说什么是关闭时执行,让得我找了半天错误!!
    太想当然了!
      

  22.   

    aspx<script language="javascript">
    function window.onbeforeunload()
    {
      if (event.clientX < 0 && event.clientY <0)
       {
          var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          xmlhttp.open("post","logout.asp",false);
          xmlhttp.send();
       }    

    </script>logout.asp:<%Session.Abandon%>