gpt4 book ai didi

ASP.NET:Page.Init 不会触发

转载 作者:行者123 更新时间:2023-12-01 23:18:59 25 4
gpt4 key购买 nike

我有一个自定义的 ASP.NET 控件。在它的 Init 处理程序中,我向页面的 Init 添加了一个委托(delegate),如下所示:

protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if(someCondition())
{
this.Page.Init += delegate(object sender, EventArgs ee)
{
//some stuff
};
}
}

现在,如果我以声明方式将此自定义控件添加到页面的 HTML,一切正常,页面的 Init 委托(delegate)将被调用。但是,如果我以编程方式将此控件添加到页面,例如:

protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
MyControl myControl = new MyControl { ID = "myControl" };
this.Page.Form.Controls.Add(myControl);
}

Init 如果控件被调用但我附加到 Page.Init 的委托(delegate)没有。我在这里做错了什么?

最佳答案

是因为在OnLoad中添加控件的时候Page的Init已经执行过了

关于ASP.NET:Page.Init 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7031705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com