首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候“必须”使用asp.net CreateChildControls()?

什么时候“必须”使用asp.net CreateChildControls()?
EN

Stack Overflow用户
提问于 2009-10-01 14:09:16
回答 4查看 8K关注 0票数 4

虽然看起来创建服务器控件的“正确”方法是在CreateChildControls调用中构造所有子控件。但是因为很难知道它什么时候会被调用(这是性能优化的全部要点),我看到我们的大多数devs都是在OnInit或OnLoad中构造的。这在99%的情况下都是有效的。

在某些情况下我们必须使用CreateChildControls吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-10-01 14:17:56

您应该始终在CreateChildControls中构造您的子控件。这是在生命周期中初始化它们并将它们添加到控件树的适当时间。其中一个原因是EnsureChildContols方法被多次调用,如果需要,它会调用CreateChildControls。最好的实践,就这么做吧。

票数 5
EN

Stack Overflow用户

发布于 2009-10-01 14:12:02

阅读Control Execution Lifecycle

每当ASP.NET页面框架需要创建控件树时,都会调用CreateChildControls方法,并且此方法调用不限于控件生命周期中的特定阶段。例如,可以在加载页面时、数据绑定期间或rendering.期间调用CreateChildControls

票数 3
EN

Stack Overflow用户

发布于 2009-10-01 14:17:11

在性能方面,等待创建子控件将为服务器节省一些不必要的CPU时间。例如,如果在调用CreateChildControls()之前引发异常或中止线程,则会节省创建这些控件所需的时钟周期。

您认为在OnInit中创建控件比在CreateChildControls()中创建控件的性能更高的理由是什么?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1504193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档