【问题标题】:Why clear controls in CreateChildControls为什么要清除 CreateChildControls 中的控件
【发布时间】:2010-12-23 17:16:52
【问题描述】:

ASP.NET 复合控件的所有示例始终清除子控件作为 CreateChildControls 中的第一个操作。为什么是这样?据我了解,始终通过 EnsureChildControls 调用此方法,该方法设置一个标志以指示它已被调用,因此不会再次调用 CreateChildControls。

基础架构的其他方面是否调用了 CreateChildControls?如果是在什么情况下?

【问题讨论】:

    标签: asp.net webforms createchildcontrols


    【解决方案1】:

    在控件的 OnInit 期间,没有什么可以阻止您创建控件并将它们添加到控件集合中。然后在调用 CreateChildControls 时,已经存在控件。这可能听起来很古怪,但是如果您要扩展一个控件,您知道当您的控件调用基本方法(如基本构造函数或 base.OnLoad)时该基本控件在做什么吗?

    基本上,首先调用 Controls.Clear() 是一种很好的做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-07
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-01
      • 2021-12-29
      相关资源
      最近更新 更多