在复合控件的开发过程中,遇到这样一个问题:按照一般的复合控件的开发流程,在CreateChildControl中创建控件,在OnPreRender中绑定DropDownList的数据,结果在回发时总是不能保存选择的状态。
在网上看到一些文章,说要把控件的创建放到OnInit方法中,一开始没搞清楚怎么改,难道要把控件创建的代码挪到OnInit中。
在尽量少的修改的前提下,我采用了这样的方法:
protected override void OnInit(EventArgs e) { EnsureChildControls(); //检查子控件是否已经创建,否则创建 BindData(); //你的绑定数据的方法 base.OnInit(e); }
OnInit方法执行要提前于OnPreRender。
不知道是不是其它的控件在回发时要保持状态,也要这样写。
关键字: DropDownList 复合控件
发表评论
相关文章
想了解服务发现、配置管理的同学,欢迎加入1000人Consul交流群:234939415
扫码关注公众号:萤火架构
文章分类
最新评论