ASP.NET如何关闭页面服务端及对话层清空
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章给大家介绍ASP.NET如何关闭页面服务端及对话层清空,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。要清掉Session必须回到服务端,在客户端是不能改变服务端内容的。A
千家信息网最后更新 2024年11月11日ASP.NET如何关闭页面服务端及对话层清空
这篇文章给大家介绍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" %>========================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如何关闭页面服务端及对话层清空就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
页面
服务
对话
事件
内容
代码
更多
用户
帮助
不错
东西
兴趣
动作
只有
客户
客户端
对象
小伙
小伙伴
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小学生网络安全教育教案博客
软件开发公司红包
怎么做手游软件开发
2021网络安全发展趋势
数据库核心操作
无法激活服务器暂时不可用请尝试
数据库查询非常慢
常青慕尼黑再保险网络安全保险
服务器硬盘供电电压
阿里巴巴的网络技术总监
数据库查询管理器打不开
软件开发就业及前景
如何在java显示数据库的时间
网页数据库空间怎么清理
新资源网络技术
欧盟5g网络安全建议
防止数据库出现意外的方法
企业网络安全设计 拓扑搭建
agv调度系统软件开发
邯郸进销存软件开发价格
计算机网络技术免费课程
如何检测数据库有数据更新
条码打印机怎么设置数据库
网络安全后市怎么样
百度云文件管理服务器
网上书店软件开发
网络安全的一些知识
小型局域网网络安全浅析
上海做网络安全产品的公司
服务器系统哪个安全稳定