有没有像 onLoad 这样的事件?
只是在关闭网站(onClose)?
不是在我怀疑你在想的意义上。您在 ASP.net 中的所有代码都在服务器上运行,该服务器本身并不“知道”用户何时关闭站点。为了实现您的目标,您需要使用 Javascript 来处理 window.onunload / window.onbeforeunload 事件并触发某种形式的服务器请求。
查看http://developer.mozilla.org/en/DOM/window.onunload以获取有关 window.onunload 事件的更多信息。
更新:如果您正在使用/能够使用 ASP.net AJAX,那里有一些非常整洁的包装器,可为您提供与服务器端页面生命周期类似的一组事件/行为。Stephen Walther在他的博客上有一个相当不错的教程。
“关边”是指用户关闭客户端的浏览器窗口,对吧?
在 JavaScript 中,您有OnUnload-event。如果您需要服务器上的事件,那么您可以(我从未尝试过)使用自定义客户端脚本手动将事件推送到服务器。但是你没有开箱即用的,因为它是一个客户端事件。
希望这可以帮助。
我建议为此使用 asp.net ajax。请参阅此页面 lfecycle的链接,它显示了 application.unload 事件(在页面关闭时触发,导航离开)。
出于显而易见的原因,这很适合 asp.net,比直接使用 onunload 事件要好,当然除非你在没有 asp.net ajax 的情况下做所有事情。它唯一不能做的就是在浏览器崩溃的情况下通知您。
您可以在 ASP.NET 应用程序文件 (Global.asax) 中使用有限的Session_End方法。