【问题标题】:Updating a dynamic control更新动态控件
【发布时间】:2009-04-07 19:29:32
【问题描述】:

我有一个自定义 Web 部件,其中包含来自 AJAX 控件工具包的 Accordion 窗格作为子级,用于呈现站点地图层次结构。每个窗格都包含一个带有文本输入的 div 和 3 个用于编辑站点地图数据的链接按钮:“添加子项”、“更新”和“删除”。

目前,所有这些控件都是在重写的 CreateChildControls 方法中创建的。

单击“添加子”链接按钮时,会触发事件处理程序,并将新节点添加到站点地图。回发完成后,控件应使用层次结构中的新空节点重新呈现,但事实并非如此。在一个新的 GET 请求之后,新节点出现。阅读了一段时间后,我认为我的问题是我在过程中过早地创建了我的子控件,因为在触发 Control 事件之前调用了 CreateChildControls,所以我将那个位移到了 OnPreRender 方法中。但是现在控制事件不会触发,因为我在页面生命周期中连接它们太晚了(见这里:Custom Control Events Not Firing)。

我的问题是:如何确保自定义控件呈现其子控件事件处理程序的结果?

顺便说一句,我在 Web 部件而不是自定义服务器控件中执行此操作是否重要(例如,生命周期是否不同)?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您可以在页面的 OnInit 中调用 EnsureChildControls。这将确保在处理任何事件之前重新创建子控件。

    【讨论】:

      猜你喜欢
      • 2016-10-30
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多