2011-01-07 156 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对控件是否为真?