2012-05-27 37 views
1

我正在開發一個asp.net網站。我有一個aspx頁面。我想使用一個變量,它的值在回發期間不應該被重置,但是當傳遞到另一個頁面並返回時,它應該被重置。而且我也改變了C#代碼中的這個變量值。所以它應該在我想要的時候改變,它不應該在回發期間被重置,並且當我導航到另一個頁面時它應該被重置。我應該使用什麼類型的變量?

我試圖用

public int 
public static int 
protected int 

,但我不可能知道哪一個是工作的權利。

回答

4

在後背上以保持數據的能力是不是真的到變量的作用域。 如果您選擇公開,保護或私人,這真的沒有關係。

您正在查找的技術稱爲Session StateView State
Session state在不同頁面上保存數據,並在同一頁面內保存view state。實際上還有第三個,即Application state object,它在全球不同用戶會話中保存數據。

在最簡單的形式,你會用戶視圖狀態,如:

string myString = "123"; 
ViewState["MyString"] = myString; 

和回傳後,在Page_Load方法:

myString = ViewState["MyString"].ToString(); 
1

查找到

Session["yourvar"] = 123; 

Application["globalvar"] = 456; 

MSDN文檔here

相關問題