asp.net关闭页面时触发事件修改数据库

yeyanbinghappy 2010-05-11 10:26:12
在关闭default.aspx页面时,将用户没有保存的信息插入数据库,自己采用了几个方法,都没有实现:
1) default.aspx.cs文件中,添加Page_UnLoad事件,但是该事件在页面加载时也执行。
2) 使用JavaScript脚本。
<script>
function myClose()
{
document.write("<% Save(); %>")
}
</script>

<body onunload="myClose()">

其中,Save是后台方法,但是在页面加载时该方法就执行了
<body onbeforeunload="myClose()">也不行
...全文
777 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
feifeizpf 2012-08-24
  • 打赏
  • 举报
回复
普通的页面用 window.onbeforeunload函数应该都可以
ayymbirst 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 yeyanbinghappy 的回复:]
在关闭default.aspx页面时,将用户没有保存的信息插入数据库,自己采用了几个方法,都没有实现:
1) default.aspx.cs文件中,添加Page_UnLoad事件,但是该事件在页面加载时也执行。
2) 使用JavaScript脚本。
<script>
function myClose()
{
document.write("<% Save(); %>"……[/Quote]

楼主需要更正一下观点:
任何脚本中包含<% %> 会同aspx页面周期一同执行.(楼主误以为:在页面加载时该方法就执行)

用户没有保存的信息插入数据库 这一过程最好在用户添写数据时异步提交.
hao05010323 2010-05-11
  • 打赏
  • 举报
回复
这个应该捕获不了吧,像关闭浏览器
zhang_zhen1234 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
重写OnUnload事件

C# code


protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
}
[/Quote] OnUnload 不是在页面 加载完 load之后 就运行的吗 不是页面关闭的时候运行的..
jinjunde 2010-05-11
  • 打赏
  • 举报
回复
我想知道LZ是想页面关闭的时候获取信息在存到数据库 不知道LZ这个数据重不重要哈 如果用户突然断电 你怎么办 能获取到吗?或者就像360浏览器 在一个窗口里面有很多页面 用户吧你的页面放到第一页 然后后面打开了很多页面 这个时候突然点关闭整个浏览器 这个时候上面各位大侠们写的代码能获取到吗?(我这个不是转牛角尖哈 只是会有这个一个真实的情况存在)LZ可以具体说下你想保存什么数据 说出来可以想下其他方法
yeyanbinghappy 2010-05-11
  • 打赏
  • 举报
回复
protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
FileStream fs = new FileStream(@"D:\dddddd.txt", FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("Page_UnLoad");
sw.WriteLine("ViewState:" + ViewState["Id"]);
sw.Close();
fs.Close();
}
我打开页面,还没有点击关闭按钮,这里面的方法就执行了。我只想在关闭时才执行
ycproc 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
重写OnUnload事件


C# code


protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
}
[/Quote]
学习了
不知为何解
q107770540 2010-05-11
  • 打赏
  • 举报
回复
重写OnUnload事件



protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
}
daniel_duan 2010-05-11
  • 打赏
  • 举报
回复
这个事件貌似捕获不了吧,帮你顶一下

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧