我寫了一個ASPX c#頁面,我必須使用這樣的全局變量;ASPX中的全局變量C#
public static Decimal _Total;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
_Total=0;
}
}
public void ShowCekBanka()
{
_Total= 10 * 5;
}
public void ShowNakitBanka()
{
_Total= 10 * 10;
}
現在;我把2個按鈕放在頁面中; Button1運行ShowCekBanak()函數; Button2運行ShowNakitBanka()函數;
當我第一次運行項目時,我點擊Button1和_Total = 50就可以了; 但我在另一個Internet Explorer中打開我的項目我看到_Total值在新打開的頁面中爲50。所以問題是全球變量_Total是太多全球:) 兩個互聯網資源管理器頁面顯示在_Total中的SAME值都_Totals是50; 它必須是這樣的; First Page _Total是50 OK,但是新的IE頁面必須是_Total是0; 不是嗎?
那麼我該如何解決這個問題? 謝謝;
好吧,我喜歡這個,但現在;當我點擊按鈕_Total現在是0;每頁 – atromgame
但是請注意,'ViewState'存儲在HTML頁面中(以編碼形式),因此熟練的用戶/黑客可以在回發期間更改此值。這*可能*是安全問題,具體取決於應用程序的確切類型。 – Heinzi
+1這是一個有效的點。做完全相同的事情,但將'ViewState'改爲'Session'是解決這個問題的方法,但取決於你打開一個新窗口的方式,這可能與這個項目的原始問題有關。 –