以编程方式取消控制初始化

时间:2010-01-11 06:08:36

标签: asp.net ascx

假设我有一个用户控件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等)。有没有办法阻止控件的初始化?

感谢。

1 个答案:

答案 0 :(得分:1)

不要将其添加到aspx,而是将其从动态代码中添加到占位符中。这将允许您在需要时初始化它。

快乐的编码。