【问题标题】:onClose Event in ASP.NETASP.NET 中的 onClose 事件
【发布时间】:2008-10-09 08:03:47
【问题描述】:

有没有像 onLoad 这样的事件?

刚刚关闭站点 (onClose)?

【问题讨论】:

    标签: asp.net .net events


    【解决方案1】:

    并不是我怀疑你在想什么。您在 ASP.net 中的所有代码都在服务器上运行,该服务器本身并不“知道”用户何时关闭站点。为了实现你所追求的,你需要使用 Javascript 来处理 window.onunload / window.onbeforeunload 事件并触发某种形式的服务器请求。

    查看http://developer.mozilla.org/en/DOM/window.onunload 了解有关 window.onunload 事件的更多信息。

    更新:如果您正在使用/能够使用 ASP.net AJAX,那么那里有一些非常整洁的包装器,可以为您提供一组与服务器端页面生命周期类似的事件/行为。 Stephen Walther on his blog 有一个相当不错的教程。

    【讨论】:

      【解决方案2】:

      我建议为此使用 asp.net ajax。请参阅page lfecycle 的此链接,它显示了 application.unload 事件(在页面关闭时触发,导航离开)。

      这很适合 asp.net,原因很明显,比直接使用 onunload 事件要好,除非你在没有 asp.net ajax 的情况下做所有事情。它唯一不能做的就是在浏览器崩溃时通知您。

      【讨论】:

        【解决方案3】:

        您可以在 ASP.NET 应用程序文件 (Global.asax) 中使用有限的 Session_End 方法。

        【讨论】:

          【解决方案4】:

          “Closing the side”是指用户关闭客户端的浏览器窗口,对吧?

          在 JavaScript 中,您有 OnUnload-event。如果您需要服务器上的事件,那么您可以(我从未尝试过)使用自定义客户端脚本手动将事件推送到服务器。但是你没有开箱即用,因为它是一个客户端事件。

          希望这会有所帮助。

          【讨论】:

            【解决方案5】:

            你可以得到它的最接近卸载。

            http://msdn.microsoft.com/en-us/library/ms178472.aspx

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-09-15
              • 1970-01-01
              • 2017-02-07
              • 1970-01-01
              • 2023-03-06
              • 2012-10-28
              • 1970-01-01
              相关资源
              最近更新 更多