C# 更新动态控件
我从AJAX控件工具包中获得了一个带有手风琴窗格的自定义web部件作为子部件,用于呈现站点地图层次结构。每个窗格包括一个带有文本输入的div和3个用于编辑站点地图数据的链接按钮:“添加子项”、“更新”和“删除” 目前,所有这些控件都是在重写的CreateChildControls方法中创建的 单击“添加子项”链接按钮时,将触发事件处理程序,并将新节点添加到站点地图。回发完成后,控件应使用层次结构中的新空节点重新呈现,但它不会。在新的GET请求之后,新节点出现。在阅读了一段时间后,我认为我的问题是我在创建子控件的过程中太早了,因为CreateChildControls是在触发控件事件之前调用的,所以我将该位移到了OnPreRender方法。但是现在控件事件不会触发,因为我在页面生命周期中连接它们的时间太晚了(请参见此处:) 我的问题是:如何确保自定义控件呈现其子控件事件处理程序的结果C# 更新动态控件,c#,asp.net,C#,Asp.net,我从AJAX控件工具包中获得了一个带有手风琴窗格的自定义web部件作为子部件,用于呈现站点地图层次结构。每个窗格包括一个带有文本输入的div和3个用于编辑站点地图数据的链接按钮:“添加子项”、“更新”和“删除” 目前,所有这些控件都是在重写的CreateChildControls方法中创建的 单击“添加子项”链接按钮时,将触发事件处理程序,并将新节点添加到站点地图。回发完成后,控件应使用层次结构中的新空节点重新呈现,但它不会。在新的GET请求之后,新节点出现。在阅读了一段时间后,我认为我的问题是
另外,我在web部件而不是自定义服务器控件中执行此操作是否重要(例如,生命周期是否不同)?您可以在页面的OnInit中调用EnsureChildControl。这将确保在处理任何事件之前重新创建子控件