在复合控件的开发过程中,遇到这样一个问题:按照一般的复合控件的开发流程,在CreateChildControl中创建控件,在OnPreRender中绑定DropDownList的数据,结果在回发时总是不能保存选择的状态。
在网上看到一些文章,说要把控件的创建放到OnInit方法中,一开始没搞清楚怎么改,难道要把控件创建的代码挪到OnInit中。
在尽量少的修改的前提下,我采用了这样的方法:
protected override void OnInit(EventArgs e) { EnsureChildControls(); //检查子控件是否已经创建,否则创建 BindData(); //你的绑定数据的方法 base.OnInit(e); }
OnInit方法执行要提前于OnPreRender。
不知道是不是其它的控件在回发时要保持状态,也要这样写。
关键字: DropDownList 复合控件
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论