0
我已將2003年的Web應用程序項目轉換爲2005年。2003年的所有工作都正常,但2005年轉換後的Web應用程序項目存在一些問題,問題在於會話值,最初會話值工作罰款(第一次),但如果頁面第二次加載會話值變空。頁面加載中丟失的會話值
在第一頁的會話值被設置在第二頁的會話值被接收,然後我點擊按鈕的頁面現在會話值是空會重新加載..
請給我一些答案或鏈接指。
我已將2003年的Web應用程序項目轉換爲2005年。2003年的所有工作都正常,但2005年轉換後的Web應用程序項目存在一些問題,問題在於會話值,最初會話值工作罰款(第一次),但如果頁面第二次加載會話值變空。頁面加載中丟失的會話值
在第一頁的會話值被設置在第二頁的會話值被接收,然後我點擊按鈕的頁面現在會話值是空會重新加載..
請給我一些答案或鏈接指。
檢查您的應用程序是否不更改文件夾結構中的任何內容,如創建新文件或文件夾。這通常會導致應用程序被重置,從而導致會話信息丟失。特別是一些特殊的文件夾和文件,如App_Code
文件夾和Web.Config
,會在修改後立即重置應用程序。
如果情況並非如此,那麼它可能是一個代碼邏輯問題。嘗試重構會話變量的讀取/寫入使用屬性:
private string MySessionVar {
get { return (string)Session["MySessionVar"]; }
set { Session["MySessionVar"] = value; }
}
然後斷點添加到getter和setter和運行代碼來檢查什麼引起的會話變量被覆蓋。如果你使用它們,一定要檢查usercontrols。
此外,如果該變量僅用於當前頁面,則可以考慮使用Viewstate
變量。
我需要它請給我一些想法 – user314399 2010-04-12 10:19:15
嘗試發佈一些代碼?也許你正在覆蓋代碼中的價值? – 2010-04-12 10:20:18