ASP.NET如何关闭页面服务端及对话层清空
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍ASP.NET如何关闭页面服务端及对话层清空,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。要清掉Session必须回到服务端,在客户端是不能改变服务端内容的。A
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
互联网科技园
广州为想互联网科技有限公司
互联网的科技
互联网科技行业发展
合肥互联网科技公司
广西互联网科技公司
互联网科技美容
互联网科技素材视频竖屏
互联网科技中介
岳阳华臻互联网科技有限公司
互联网科技与大数据专业
科技类公司包括互联网吗
工业互联网展湾科技股份有限公司
互联网公司高科技产品
广东工业互联网大赛深圳学泰科技
厦门江牛科技互联网
国产互联网科技公司
广西泛欧互联网科技有限公司
亚光科技低轨卫星互联网
互联网科技快速发展优美句子
云之行互联网科技
互联网科技活动banner
互联网科技革命
奔汉互联网科技
互联网 科技服务平台
华脉科技工业互联网产品
银川新华互联网科技职业技术培训学校图片
西安有哪些互联网高科技企业
中国新注册互联网科技
北京品多多互联网科技有限公司