2010-04-12 50 views
0

我已將2003年的Web應用程序項目轉換爲2005年。2003年的所有工作都正常,但2005年轉換後的Web應用程序項目存在一些問題,問題在於會話值,最初會話值工作罰款(第一次),但如果頁面第二次加載會話值變空。頁面加載中丟失的會話值

在第一頁的會話值

被設置在第二頁的會話值被接收,然後我點擊按鈕的頁面現在會話值是空會重新加載..

請給我一些答案或鏈接指。

+0

我需要它請給我一些想法 – user314399 2010-04-12 10:19:15

+0

嘗試發佈一些代碼?也許你正在覆蓋代碼中的價值? – 2010-04-12 10:20:18

回答

0

檢查您的應用程序是否不更改文件夾結構中的任何內容,如創建新文件或文件夾。這通常會導致應用程序被重置,從而導致會話信息丟失。特別是一些特殊的文件夾和文件,如App_Code文件夾和Web.Config,會在修改後立即重置應用程序。

如果情況並非如此,那麼它可能是一個代碼邏輯問題。嘗試重構會話變量的讀取/寫入使用屬性:

private string MySessionVar { 
    get { return (string)Session["MySessionVar"]; } 
    set { Session["MySessionVar"] = value; } 
} 

然後斷點添加到getter和setter和運行代碼來檢查什麼引起的會話變量被覆蓋。如果你使用它們,一定要檢查usercontrols。

此外,如果該變量僅用於當前頁面,則可以考慮使用Viewstate變量。