ASP.NET C#关闭页面引发什么事件??

我要做的是关闭页面后,将数据库中临时建的表中的相关数据删掉。

这是您问过的问题,我也被难住了 好几天没解决 老板都急了
帮帮兄弟吧 拜托了!

兄弟:你要处理这个问题,我建议你去了解下ASPX页面的生命周期的问题。
我想这个知识点可以解决你上面提到的问题。
页面的生命周期提到了页面从诞生但结束一系列的事件执行的过程。
在这些过程中你可以写入各个需要处理逻辑代码在里面。

比如你上面这种情况,当本页面关闭时,服务器端会触发一个OnUnload事件,这个事件是执行所有最后的清理操作,例如关闭文件、关闭数据库连接和丢弃对象。在这个事件中,写入你需要操作的代码(比如删除数据库临时数据),那么问题就会变得简单。

下面举个例子:
class example:System.Web.UI.Page
{
//在类中重写OnInit方法。这个方法是在页面初始化的时候被调用的
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Unload += new EventHandler(Page_Unload);
}

protected void Page_Unload(object sender, EventArgs e)
{
//这里面填写你需要的操作的代码,当页面结束的时候系统会自动调
//用这个方法来执行你需要的服务器端的操作!
//也就是在这里写你需要删除的相关数据库中的数据的代码
}
}
注意:在使用的时候请把你当前的页面继承与这个自定义的页面

如果使用全局文件Global.asax来处理的话,当然你上面需要的功能也能实现,但是这个文件是全局的,比如,你定义好了,每个页面都会去执行。当你只需要某几个页面需要作处理的时候,使用全局文件来配置就有点不太合理。

最后兄弟就详细的去了解下ASP。NET的生命周期。
在MSDN的Page类中可以去了解到。
本想把链接挂上,但百度会屏蔽掉。。。

有时间继续讨论!!!呵呵。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-21
关闭页面什么都不会引发,不过关闭浏览器会引发Session_End事件,你可以在Global.asax写一些会话结束的清理代码。

其实你可以换个思路,每次页面加载的时候把不用的相关数据清掉
第2个回答  2009-11-20
body的onunload事件,或者看下面的。

<script type="text/javascript">
var pb_strConfirmCloseMessage;
var pb_blnCloseWindow = false;
pb_strConfirmCloseMessage ="确实要离开该页面吗?您的文章内容还没有进行保存!按“确定”继续,或按“取消”留在当前页面。";
function ConfirmClose() {
window.event.returnValue = pb_strConfirmCloseMessage;
pb_blnCloseWindow = true;
}
function ShowConfirmClose(blnValue) {
if(blnValue) {
document.body.onbeforeunload = ConfirmClose;
} else {
document.body.onbeforeunload = null;
}
}
</script>
<body onload="ShowConfirmClose(true)">

<a href="http://www.baidu.com">换页面</a>
</body>

//测试通过了,直接贴过去就可以使了<a>可以随便换 反正就触发离开就会提示
第3个回答  2009-11-21
页面关闭会引发page的unload,和页面打开前引发的page的load事件是相对应的。
第4个回答  2009-11-21
如果可以,那就不叫网页的连接是无态的了。在线人数也很容易统计了。
因此,那效果是很不理想的。
相似回答