2011-01-07 69 views
2

我想保留通過以下方式視圖狀態不保留值

public bool showstatusbox { 
    get { return Convert.ToBoolean(ViewState["statusbox"]); } 
    set { ViewState["statusbox"] = value; } 
} 

使用視圖狀態控制的「可見」屬性有什麼我應該做的比這其他保留價值。因爲,儘管我將該值存儲在視圖狀態中,但在回發時,它將變爲空值。

+0

該代碼看起來是正確的,你應該添加一個使用此屬性的任何其他代碼。 – sgriffinusa 2011-01-07 21:28:48

+0

你可以發佈你的aspx/ascx代碼嗎? – Chandu 2011-01-07 21:29:07

+0

你確定你沒有另外一堆代碼跺腳嗎?畢竟,它本質上是一個全局變量。 – asawyer 2011-01-07 21:33:06

回答

0

我記得這個有問題,用這樣的代碼解決它:

protected override object SaveViewState() 
{ 
    return new object[] { 
     TaxRate, 
     SubTotal, 
     Tax, 
     LetterId, 
     ActivityIds, 
     AssociateLettersToInvoice 
    }; 
} 

protected override void LoadViewState(object savedState) 
{ 
    var array = (object[])savedState; 
    TaxRate = (decimal)array[0]; 
    SubTotal = (decimal)array[1]; 
    Tax = (decimal)array[2]; 
    LetterId = (int?)array[3]; 
    ActivityIds = (string)array[4]; 
    AssociateLettersToInvoice = (bool)array[5]; 
} 
1

您確認EnableViewState對控件是否爲真?