91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-26 18:03:21 來源:億速云 閱讀:148 作者:柒染 欄目:編程語言

這篇文章給大家介紹ASP.NET如何關閉頁面服務端及對話層清空,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

要清掉Session必須回到服務端,在客戶端是不能改變服務端內容的。ASP.NET 關閉頁面服務端對話層的清空我們可以變通下——使用ajax。首先我們要判斷用戶什么時候關閉了頁面,這樣才能執行下一步動作。不過HTML DOM沒要頁面關閉的事件,只有onunload和onbeforeunload是與ASP.NET 關閉頁面有關的,ASP.NET 關閉頁面或刷新后的事件,onbeforeunload是ASP.NET 關閉頁面或刷新前的事件,所以我們要用的是onbeforeunload。要判斷下用戶是關閉頁面還是在刷新頁面。代碼如下:

window.onbeforeunload = function()   {      //這是網上找的,具體沒驗證過
  •       var n = window.event.screenX - window.screenLeft;   

  •       var b = n > document.documentElement.scrollWidth-20;   

  •       if(b && window.event.clientY < 0 || window.event.altKey)     

  •       {     

  •           ClearSession();   

  •       }     

  • ClearSession()為ajax調用請求服務端,服務端接收到請求后執行清空Session的操作。Ajax的東西不多說了,下面為代碼。

    ========================Default.aspx 開始===========================================   
    <%@ Page Language="C#" AutoEventWireup="true" 
    CodeFile="Default.aspx.cs" Inherits="_Default" %>     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head runat="server">      
    <title>無標題頁</title>         
    <script type="text/javascript" src="script.js"></script>     
    </head>  
    <body>      
    <form id="form1" runat="server">          
    <div>              
    <asp:Label ID="Label1" runat="server"></asp:Label>              
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="寫入Session" /></div>      
    </form>  
    </body>  
    </html>  
    ========================Default.aspx 結束===========================================   
    ========================Default.aspx.cs 開始===========================================   
    using System;  
    using System.Data;  
    using System.Configuration;  
    using System.Web;  
    using System.Web.Security;  
    using System.Web.UI;  
    using System.Web.UI.WebControls;  
    using System.Web.UI.WebControls.WebParts;  
    using System.Web.UI.HtmlControls;     
    public partial class _Default : System.Web.UI.Page  {      
    protected void Page_Load(object sender, EventArgs e)      {                    
    if (!string.IsNullOrEmpty(Request.QueryString["___command"]))          {              
    string cmd = Request.QueryString["___command"];              
    if (cmd == "ClearSession")                  
    Session.Remove("name");//清空Session          
    }             
    if (Session["name"] != null)              
    this.Label1.Text = Session["name"].ToString();      
    }      protected void Button1_Click(object sender, EventArgs e)      
    {          Session["name"] = "vvvvvvvvvvvvv";          
    if (Session["name"] != null)              
    this.Label1.Text = Session["name"].ToString();      
    }  
    }     
    ========================Default.aspx.cs 結束===========================================      
    ========================script.js 開始===========================================   
    function GetXmlHttpObject()   {      
    //創建XMLHttpRequest對象來發送和接收HTTP請求與響應     
     xmlHttpObj = null;      try       {          
     // FireFox Opera 8.0+ Safari          
     xmlHttpObj = new XMLHttpRequest();          
     if(xmlHttpObj.overrideMimeType)          
      {              
      xmlHttpObj.overrideMimeType('text/xml');         
       }     
      }      
       catch(e)       {          
       // IE          try           {              
       xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");         
        }           
        catch(e)           
        {             
         xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");         
          }     
           }      
           return xmlHttpObj; 
            }    
             function StateChanged()   {      
             if(___xmlHttp.readyState == 4)       {           
             if(___xmlHttp.status == 200)           {          
       }           else           {         
                 }      
              }  
     }     
              var ___xmlHttp=null; 
       function ClearSession()  
       {     
                 if(___xmlHttp==null)    
                       ___xmlHttp = GetXmlHttpObject();    
      if(___xmlHttp == null)        
                            return false;              
     var url = "?___command=ClearSession&___clientRandom=" + Math.random();         
     ___xmlHttp.open("GET", url, true);      
     ___xmlHttp.onreadystatechange = StateChanged;      
     ___xmlHttp.send(null);        }     
     window.onbeforeunload = function()   {          
      var n = window.event.screenX - window.screenLeft;      
         var b = n > document.documentElement.scrollWidth-20;     
             if(b && window.event.clientY < 0 || window.event.altKey)   
       {               ClearSession();       
       }   
     }


關于ASP.NET如何關閉頁面服務端及對話層清空就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安塞县| 平度市| 乌兰察布市| 涿鹿县| 永丰县| 罗源县| 芮城县| 习水县| 班戈县| 镇江市| 抚顺县| 巴楚县| 余干县| 福清市| 满洲里市| 秭归县| 霍城县| 漳州市| 松潘县| 新蔡县| 普安县| 北京市| 晋州市| 南木林县| 长春市| 上高县| 逊克县| 胶州市| 磴口县| 夏河县| 什邡市| 黄浦区| 元朗区| 郧西县| 南开区| 南江县| 扎鲁特旗| 张掖市| 祁阳县| 竹北市| 剑阁县|