2010-01-05 73 views
1

我添加用户控件dynamcly到页面,并试图保存到视图状态 当我triyed将占位符保存到视图状态我得到这个错误 “PlaceHolder不标记为可序列化。保存加载用户控件动态视图状态

这里是我的代码

Controls_PriceControl ctrl = (Controls_PriceControl)LoadControl("../Controls/PriceControl.ascx"); 
    plcPrices.Controls.Add(ctrl); 

    ViewState["plcPrices"] = plcPrices; 

可以assiset我这个问题?

的感谢!

回答

1

您不应该将实际的控件保存到ViewState中,而只能保存它们的状态(通常是属性)。保存和加载控制属性通常可以直接在属性声明中完成:

public class FooControl : Control 
{ 
    public string Bar 
    { 
     get { return ViewState["Bar"] as string; } 
     set { return ViewState["Bar"] = value; } 
    } 
} 
相关问题