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)

相关推荐

  • Sun的新Java脚本语言是什么

    技术Sun的新Java脚本语言是什么本篇文章给大家分享的是有关Sun的新Java脚本语言是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

    攻略 2021年12月2日
  • PHP+jQuery-ui怎么进行拖动浮动层排序并保存到数据库

    技术PHP+jQuery-ui怎么进行拖动浮动层排序并保存到数据库这篇文章将为大家详细讲解有关PHP+jQuery-ui怎么进行拖动浮动层排序并保存到数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这

    攻略 2021年11月16日
  • iOS如何使用Photo应用

    技术iOS如何使用Photo应用这篇文章将为大家详细讲解有关iOS如何使用Photo应用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、步骤执行:1、首先要创建一个SingleVie

    攻略 2021年10月21日
  • 1446. Consecutive Characters

    技术1446. Consecutive Characters 1446. Consecutive Characters/**
    1446. Consecutive Characters
    https://l

    礼包 2021年12月16日
  • 中国标志性建筑,中国著名建筑有哪些?急急急

    技术中国标志性建筑,中国著名建筑有哪些?急急急北京故宫是中国明清两代的皇家宫殿,旧称为紫禁城,位于北京中轴线的中心,是中国古代宫廷建筑之精华。北京故宫以三大殿为中心,占地面积72万平方米,建筑面积约15万平方米,有大小宫

    生活 2021年10月27日
  • hadoop中用户有CREATE权限建表后无HDFS文件的ACL访问权限异常分析

    技术hadoop中用户有CREATE权限建表后无HDFS文件的ACL访问权限异常分析这篇文章将为大家详细讲解有关hadoop中用户有CREATE权限建表后无HDFS文件的ACL访问权限异常分析,小编觉得挺实用的,因此分享

    攻略 2021年12月9日