部分引用自: http://www.cnblogs.com/jintan/archive/2007/05/10/741175.html
最近在修改一個項目的時候碰到一個問題,在登錄時使用
Session.Abandon();
Session.Clean();
Session["user"] = "admin";
然後用Page.Redirect("xxx.aspx")後
新頁面xxx.aspx中Session["user"] 還是爲空,一直找不到問題的所在,後來把Session.Abandon();去掉後就可以了,爲什麼這樣呢?
Abandon 方法被調用時,將按序刪除當前的 Session 對象,不過在當前頁中所有腳本命令都處理完後,對象纔會被真正刪除。這就是說,在調用 Abandon 時,可以在當前頁上訪問存儲在 Session 對象中的變量,但在隨後的 Web 頁上不行。
使用Session.Clear()沒有這個問題
如果要用Session.Abandon(),最好放在一個獨立的頁面。