2013-07-02 55 views
0

我找到了這個: 「我創建了一個session.abandon頁面,並提交按鈕調用它,並重定向回當前頁面。 這個網址: Session clear and page refreshasp取消按鈕清除會話變量

使用傳統的ASP我已經使用備用的.asp頁/表單登錄使用的電子郵件地址,並回答「祕密問題」。如果有人輸入電子郵件地址並點擊「SUBMIT」,我會從數據庫中檢索「祕密問題」。我在會話變量中存儲地址和問題。

在步驟2中,系統會提示此人再次輸入問題的答案並提交。所有這些工作正常。登錄完成...生活是美好的!

如果由於某種原因,如果用戶決定停止而未輸入答案(實際上放棄登錄),則會話變量將保留。

我一直在努力尋找一種方法(在我有限的編碼能力範圍內)來清除這些特定的會話變量。我知道清除單個(或全部)會話變量的語法。我只是無法弄清楚如何「觸發」(即'執行')Session.RemoveAll。頂部的報價和URL表明有人知道如何做到這一點......但他沒有說明他是如何做到的,以便我可以複製該過程。

任何人都可以通過這個手牽着我?謝謝。

回答

0

無論何時服務器設置爲考慮放棄會話(通常爲10-20分鐘),會話變量都會自行清除。您有兩種選擇:

  • 您可以縮短服務器上的會話超時時間,但如果您的站點有長時間不活動的自然場所,則會導致問題。
  • 您可以使用Session.Timeout來調整該頁面的超時時間。

如果他們真的放棄了會話 - 他們沒有執行任何操作 - 那麼沒有什麼可以附加觸發器。問題頂部的位在提交時運行Session.Abandon - 與您描述的情況不同。

+0

感謝您的回覆。我知道'正常'會話超時。不知道我可以爲頁面設置超時時間。我可以走這條路。我希望有一種方法可以通過點擊按鈕'運行'Session(「xxx」)=「」。再次感謝您的信息。 –

+0

Session.Timeout似乎是最簡單的路線。我想我會嘗試使用GIF(「Cancel.gif」)作爲超鏈接到asp頁面的一部分。該頁面將僅包含將會話變量設置爲Null和重定向回超鏈接頁面的幾行。這很容易做...我會看看它是否有效,並消除超時時間。再次感謝@anonJr –