日期:2014-05-18  浏览次数:20508 次

关于在PostBack自定义控件问题无法保存DropDownList绑定的请教,高手请进
我做了个自定义控件,里面包含了一个DropDownList
在PageLoad初绑定了数据源,PostBack后DropDownList变成空了,这个问题要怎么解决?

private   DropDownList   ddlBox   =   new   DropDownList();
protected   override   void   CreateChildControls()
{
    Controls.Add(ddlBox);
}
protected   override   void   RenderContents(HtmlTextWriter   output)
{
    ddlBox.RenderControl(output);
}
public   override   void   DataBind()
{
    ddlBox.DataBind();
}



------解决方案--------------------
private DropDownList ddlBox = new DropDownList();
protected override void CreateChildControls()
{
Controls.Add(ddlBox);
}

改成:
private DropDownList ddlBox;
protected override void CreateChildControls()
{
ddlBox = new DropDownList();
Controls.Add(ddlBox);
}

------解决方案--------------------
Controls.Add(ddlBox); 放到init里面去.
------解决方案--------------------
private DropDownList ddlBox = new DropDownList();
每当执行程序后你写的位置总是要重新执行的
这样每次都要重新定义一次
time_is_life(今夜太冷:http://timeislife.blog.sohu.com) 说的是正确的
------解决方案--------------------
对于这种自定义控件最好的方法就是在
pageload中每次都绑定一次
------解决方案--------------------
估计你的自定义控件里面的属性没有使用viewstate[ " "],所以没有保存状态