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

技术ASP.NET如何关闭页面服务端及对话层清空这篇文章给大家介绍ASP.NET如何关闭页面服务端及对话层清空,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。要清掉Session必须回到服务端,在客户

本文介绍了如何在ASP.NET关闭页面服务器并清空对话层。内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。

要清除会话,您必须返回服务器,在那里您不能更改服务器的内容。关闭ASP.NET页面服务器端对话层的清空。我们可以在——中使用ajax。首先,我们需要确定用户何时关闭了页面,这样我们就可以执行下一个操作。然而,HTML DOM并不要求页面关闭事件。只有onunload和onbeforeunload与ASP.NET的页面关闭相关,与ASP.NET的页面关闭或刷新后的事件相关,与ASP.NET的页面关闭或刷新前的事件相关,所以我们要使用onbeforeunload。确定用户是关闭页面还是刷新页面。代码如下:

窗户。onbefore unload=function(){//这个是在网上找到的,但是没有具体验证过。Varn=窗口。event.屏幕窗口。屏幕左侧;

varb=n document . document element . scrollwidth-20;

if(英国)。event,客户0 | |窗口。event。altKey)

{

ClearSession();

}

}

ClearSession()是ajax调用请求服务器,服务器在收到请求后执行清除Session的操作。关于Ajax的内容不多,下面是代码。

=====================默认值。aspx start==============================================

“% @”页面语言=“c#”AutoEventWireup=“true”

CodeFile=' Default . aspx . cs ' inherits=' _ Default ' %

!DOCTYPEhtmlPUBLIC '-//W3C//DTDXHTML 1.0 transitional//EN '

http://www . w3 . org/TR/XHTML 1/DTD/XHTML 1-transitional . DTD '

html xmlns=' http://www . w3 . org/1999/XHTML '

headrunat='服务器'

没有标题页/标题nb

sp;
<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如何关闭页面服务端及对话层清空就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/119737.html

(0)

相关推荐

  • yi的汉字,拼音“yi”都有哪些字

    技术yi的汉字,拼音“yi”都有哪些字一 乙 已 义 亿 弋 以 刈 忆 艺 失 仪 台 仡 议 伊 衣 圯 夷 钇 亦 屹 异 医 沂 诒 佁 矣 苡 佚 呓 役 抑 译 邑 依 祎 宜 怡 迤 饴 佾 峄 怿 易 绎

    生活 2021年10月28日
  • Android基础知识点有哪些

    技术Android基础知识点有哪些本篇内容介绍了“Android基础知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年11月3日
  • 如何进行MySQL权限提升及安全限制绕过漏洞

    技术如何进行MySQL权限提升及安全限制绕过漏洞这篇文章将为大家详细讲解有关如何进行MySQL权限提升及安全限制绕过漏洞,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。My

    攻略 2021年11月17日
  • MySQL面试题有哪些

    技术MySQL面试题有哪些本篇内容介绍了“MySQL面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!非关系型数

    攻略 2021年12月3日
  • react实现todolist的状态筛选(react页面有操作就刷新token)

    技术react如何实现todolist的增删改查这期内容当中小编将会给大家带来有关react如何实现todolist的增删改查,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。以todol

    攻略 2021年12月25日
  • sql如何实现jpql排序

    技术sql如何实现jpql排序这篇文章给大家分享的是有关sql如何实现jpql排序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 jpql按升序排序,并且null要排最后,可以使用COA

    攻略 2021年11月25日