我已经创建了一个自定义的Web控件。在CreateChildControls方法我控制动态创建一个表添加行到它包含一个ImageButton,我想附加一个事件到这个ImageButton,但事件永远不会触发?CreateChildControls方法ChildControls不会触发事件
我试过Init方法也不起作用。代码如下CreateChildControls
- 我创建一个面板。
- 第i创建具有数据的表格和的ImageButton它
- 我此表添加到所创建的面板
- 我本小组添加到该方法Controls.Add被。
我也观察到,如果我直接向Controls.Add()方法添加一个控件并附加一个事件,它可以正常工作。
含义, 1.创建一个按钮附加一个事件处理 2.添加对Controls.Add被()方法
做上述正常工作。只有孩子控制事件不会被解雇,有什么我失踪?
在此先感谢
调用'Control.EnsureChildControls()'运行'CreateChildControls'。 – 2011-03-28 09:22:08
Control.EnsureChildControls(http://msdn.microsoft.com/en-us/library/system.web.ui.control.ensurechildcontrols.aspx)是受保护的方法,而不是公共的,就像的CreateChildControls,因此不能称为从对象本身的上下文之外。 – Wuolennaj 2011-03-28 11:51:01
哦,他说'CreateChildControls方法'我以为他在继承另一个控件的方法中使用该方法,我看他的意思是事件。事情是'CreateChildControls'不保证在任何特定的时间甚至根本不会触发,它不是添加控件的正确位置(除非实际从控制代码本身构建自定义控件)。在“Page_Load”中添加它们有什么问题? – 2011-03-28 12:01:10