假设我有一个用户控件MyControl.ascx,我将它放在Default.aspx中,如下所示:
<uc1:MyControl id="MyControl" runat="server">
现在在Default.aspx的代码隐藏中,我这样做:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
MyControl.Visible = false;
}
问题是即使我没有渲染MyControl,它仍然被初始化并经历整个ASCX生命周期(OnLoad等)。有没有办法阻止控件的初始化?
感谢。
答案 0 :(得分:1)
不要将其添加到aspx,而是将其从动态代码中添加到占位符中。这将允许您在需要时初始化它。
快乐的编码。