欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

ASP.NET 关闭页面服务端对话层清空

创建时间:2011年06月16日 22:54  阅读次数:(5008)
分享到:

要清掉Session必须回到服务端,在客户端是不能改变服务端内容的。ASP.NET 关闭页面服务端对话层的清空我们可以变通下——使用ajax。首先我们要判断用户什么时候关闭了页面,这样才能执行下一步动作。不过HTML DOM没要页面关闭的事件,只有onunload和onbeforeunload是与ASP.NET 关闭页面有关的,ASP.NET 关闭页面或刷新后的事件,onbeforeunload是ASP.NET 关闭页面或刷新前的事件,所以我们要用的是onbeforeunload。要判断下用户是关闭页面还是在刷新页面。代码如下:

  1. window.onbeforeunload = function()   
  2. {     
  3.  //这是网上找的,具体没验证过  
  4.       var n = window.event.screenX - window.screenLeft;   
  5.       var b = n > document.documentElement.scrollWidth-20;   
  6.       if(b && window.event.clientY < 0 || window.event.altKey)     
  7.       {     
  8.           ClearSession();   
  9.       }     

ClearSession()为ajax调用请求服务端,服务端接收到请求后执行清空Session的操作。Ajax的东西不多说了,下面为代码。

  1. ========================Default.aspx 开始===========================================  
  2.  
  3. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>  
  4.    
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  6. <html xmlns="http://www.w3.org/1999/xhtml">  
  7. <head runat="server">  
  8.     <title>无标题页</title>  
  9.    
  10.     <script type="text/javascript" src="script.js"></script>  
  11.    
  12. </head>  
  13. <body>  
  14.     <form id="form1" runat="server">  
  15.         <div>  
  16.             <asp:Label ID="Label1" runat="server"></asp:Label>  
  17.             <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="写入Session" /></div>  
  18.     </form>  
  19. </body>  
  20. </html>  
  21. ========================Default.aspx 结束===========================================  
  22.  
  23.  
  24. ========================Default.aspx.cs 开始===========================================  
  25.  
  26. using System;  
  27. using System.Data;  
  28. using System.Configuration;  
  29. using System.Web;  
  30. using System.Web.Security;  
  31. using System.Web.UI;  
  32. using System.Web.UI.WebControls;  
  33. using System.Web.UI.WebControls.WebParts;  
  34. using System.Web.UI.HtmlControls;  
  35.    
  36. public partial class _Default : System.Web.UI.Page  
  37. {  
  38.     protected void Page_Load(object sender, EventArgs e)  
  39.     {  
  40.           
  41.         
    来源:
    说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
    【编辑:Wyf

    打赏

    取消

    感谢您的支持,我会做的更好!

    扫码支持
    扫码打赏,您说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 3+61=? 的结果(结果是:64)
结  果: