2008-10-09 72 views

回答

2

不在,我懷疑你想感。您在ASP.net中的所有代碼都在服務器上運行,該服務器在用戶關閉網站時並不會「知道」。爲了實現你的目標,你需要使用Javascript來處理window.onunload/window.onbeforeunload事件並觸發對服務器的某種形式的請求。

有關window.onunload事件的更多信息,請參閱http://developer.mozilla.org/en/DOM/window.onunload

更新:如果您使用/能夠使用ASP.net AJAX,那裏有一些非常整齊的包裝,它爲您提供了一組類似的事件/ beahviours到服務器端頁面生命週期。 Stephen Walther有一個相當不錯的教程on his blog

1

「關閉邊」意味着用戶關閉了客戶端的瀏覽器窗口,對不對?

在JavaScript中你有OnUnload-event。如果您需要服務器上的事件,那麼您可能(我從未嘗試過)使用自定義客戶端腳本手動將事件推送到服務器。但是你沒有開箱即用,因爲這是一個客戶端事件。

希望這會有所幫助。

1

我會建議使用asp.net ajax爲此。看到這個鏈接page lfecycle爲此,它顯示了application.unload事件(當頁面關閉時,觸發離開時觸發)。

這很適合asp.net的顯而易見的原因,比直接使用onunload事件更好,除非你沒有asp.net ajax做所有事情。它唯一不能做的就是在瀏覽器崩潰的情況下通知你。

1

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