1

我有一个继承类的用户控件。(我Oninit对这个类的功能做了一些编码)。我正在使用以下方法从服务器端动态加载该用户控件:

Mycontrol dc = (Mycontrol)Page.LoadControl("/Controls/Mycontrol.ascx");
 MyPlaceHolder.Controls.Add(dc);

但问题是,Oninit用户控件继承的类的功能并没有被执行。谁能告诉我为什么会发生这种情况以及解决方案是什么。

谢谢,

4

1 回答 1

0

根据页面生命周期事件的MSDN 参考OnInit,子控件的 被调用在OnInit页面之前。

这意味着您必须在事件中添加动态控件PreInit才能在事件链开始之前将它们放置到位。事实上,文档PreInit说明:

将此事件用于以下情况:

  • 检查 IsPostBack 属性以确定这是否是第一次处理页面。此时还设置了 IsCallback 和 IsCrossPagePostBack 属性。

  • 创建或重新创建动态控件。

  • 动态设置母版页。

  • 动态设置 Theme 属性。

  • 读取或设置配置文件属性值。

于 2012-09-01T07:53:40.463 回答