成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET 關閉頁面服務端對話層清空

開發 后端
在客戶端改變服務端的內容部可能實現,本文為大家介紹下ASP.NET 關閉頁面清除服務端Session的方法,希望對您有所幫助。

      要清掉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.         if (!string.IsNullOrEmpty(Request.QueryString["___command"]))  
  42.         {  
  43.             string cmd = Request.QueryString["___command"];  
  44.             if (cmd == "ClearSession")  
  45.                 Session.Remove("name");//清空Session  
  46.         }  
  47.    
  48.         if (Session["name"] != null)  
  49.             this.Label1.Text = Session["name"].ToString();  
  50.     }  
  51.     protected void Button1_Click(object sender, EventArgs e)  
  52.     {  
  53.         Session["name"] = "vvvvvvvvvvvvv";  
  54.         if (Session["name"] != null)  
  55.             this.Label1.Text = Session["name"].ToString();  
  56.     }  
  57. }  
  58.    
  59. ========================Default.aspx.cs 結束===========================================  
  60.  
  61.  
  62.  
  63.  
  64. ========================script.js 開始===========================================   
  65. function GetXmlHttpObject()   
  66. {  
  67.     //創建XMLHttpRequest對象來發送和接收HTTP請求與響應  
  68.     xmlHttpObj = null;  
  69.     try   
  70.     {  
  71.         // FireFox Opera 8.0+ Safari  
  72.         xmlHttpObj = new XMLHttpRequest();  
  73.         if(xmlHttpObj.overrideMimeType)   
  74.         {  
  75.             xmlHttpObj.overrideMimeType('text/xml');  
  76.         }  
  77.     }   
  78.     catch(e)   
  79.     {  
  80.         // IE  
  81.         try   
  82.         {  
  83.             xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");  
  84.         }   
  85.         catch(e)   
  86.         {  
  87.             xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");  
  88.         }  
  89.     }  
  90.     return xmlHttpObj;  
  91. }  
  92.    
  93. function StateChanged()   
  94. {  
  95.     if(___xmlHttp.readyState == 4)   
  96.     {   
  97.         if(___xmlHttp.status == 200)   
  98.         {  
  99.         }   
  100.         else   
  101.         {  
  102.         }  
  103.     }  
  104. }  
  105.    
  106. var ___xmlHttp=null;  
  107. function ClearSession()   
  108. {  
  109.     if(___xmlHttp==null)  
  110.         ___xmlHttp = GetXmlHttpObject();  
  111.     if(___xmlHttp == null)   
  112.         return false;  
  113.           
  114.     var url = "?___command=ClearSession&___clientRandom=" + Math.random();  
  115.    
  116.     ___xmlHttp.open("GET", url, true);  
  117.     ___xmlHttp.onreadystatechange = StateChanged;  
  118.     ___xmlHttp.send(null);  
  119.       
  120. }  
  121.    
  122. window.onbeforeunload = function()   
  123. {     
  124.       var n = window.event.screenX - window.screenLeft;   
  125.       var b = n > document.documentElement.scrollWidth-20;   
  126.       if(b && window.event.clientY < 0 || window.event.altKey)     
  127.       {     
  128.           ClearSession();   
  129.       }     
  130. }   

本文來自:博客           作者:陳粵雄

【編輯推薦】

  1. 中途關閉ASP.NET是否影響服務器端執行
  2. 關閉瀏覽器Session1分鐘失效ASP.NET的BUG
  3. 概述ASP.NET頁面框架
  4. 描述ASP.NET頁面表單
  5. ASP.NET 頁面對象模型
責任編輯:林琳 來源: Vincent's Blog
相關推薦

2009-07-23 14:17:41

2009-07-29 17:26:39

ASP.NET頁面

2009-07-31 10:23:44

緩存頁面ASP.NET緩存

2009-09-03 18:37:35

ASP.net

2009-08-03 13:38:18

ASP.NET編程模型

2009-07-27 15:25:40

aspx頁面ASP.NET

2009-07-31 10:33:54

ASP.NET頁面輸出

2009-08-05 18:22:55

2009-07-23 10:52:38

2009-07-29 14:35:34

頁面輸出緩存ASP.NET

2009-07-21 15:40:59

Asp.Net動態頁面

2009-07-28 16:40:11

ASP.NET異步頁面

2009-07-23 14:21:55

ASP.NET頁面

2009-08-19 10:54:42

ASP.NET數據訪問

2009-07-27 12:56:27

控件CheckBoxLASP.NET服務器

2009-07-23 14:08:58

2009-07-31 13:06:53

CheckBoxLisASP.NET頁面

2009-08-05 14:01:50

ASP.NET配置錯誤

2009-07-29 16:41:45

ASP.NET頁面框架

2009-07-28 15:53:43

ASP.NET Web
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一 | 国产成人午夜精品影院游乐网 | 中文字幕亚洲欧美日韩在线不卡 | 一区二区三区视频在线观看 | 亚洲高清在线观看 | 久久亚洲欧美日韩精品专区 | 久久久久网站 | 午夜激情免费 | 91影院| 日韩中文欧美 | 中文字幕国产在线 | 国产午夜精品一区二区三区 | 天天色天天色 | 亚洲va欧美va天堂v国产综合 | www.精品一区 | 一区二区三区在线播放 | 91九色婷婷 | 国产精品视频久久 | 草草视频在线免费观看 | 日韩在线资源 | 中文字幕一区二区三区在线乱码 | 97视频久久 | 国产一区二 | 国产精品1区 | 欧美电影一区 | 激情一区二区三区 | 国产免费一区二区 | 男女又爽又黄视频 | 欧美99久久精品乱码影视 | 日本淫视频| 亚洲综合在线视频 | 久久精品免费观看 | 欧美精选一区二区 | 日韩亚洲一区二区 | 综合一区二区三区 | 日韩精品一区二区三区 | 色综合一区二区三区 | 国产精品久久国产精品久久 | 久久精品二区 | 日韩一级免费电影 | 国产日韩欧美在线观看 |