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)

相关推荐

  • Python语法技巧有哪些

    技术Python语法技巧有哪些这篇文章主要讲解了“Python语法技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python语法技巧有哪些”吧!1. for -

    攻略 2021年11月20日
  • nginx内存池源码分析

    技术nginx内存池源码分析本篇内容主要讲解“nginx内存池源码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx内存池源码分析”吧!内存池概述 内存池是在

    攻略 2021年11月19日
  • python如何对列表内数据求和(python如何对列表每一项求和)

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

    攻略 2021年12月17日
  • java lock锁的使用场景(javareentrantlockislock)

    技术Java读写锁ReentrantReadWriteLock怎么使用这篇文章主要介绍“Java读写锁ReentrantReadWriteLock怎么使用”,在日常操作中,相信很多人在Java读写锁ReentrantRe

    攻略 2021年12月21日
  • 分享Python练手小项目

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

    攻略 2021年10月22日
  • rtthread的使用分析

    技术rtthread的使用分析这篇文章将为大家详细讲解有关rtthread的使用分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。RT-Thread 中,实际上线程并不存

    攻略 2021年11月10日