私はカスタムASP.NETコントロールを持っています。その初期化ハンドラでは私はこのようなページのInitにデリゲートを追加します。ASP.NET:Page.Init fire fire
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if(someCondition())
{
this.Page.Init += delegate(object sender, EventArgs ee)
{
//some stuff
};
}
}
を今、私は宣言ページのHTMLにこのカスタムコントロールを追加する場合、すべてのものは、ページのInitデリゲートが呼び出される、正常に動作します。制御GETさんと呼ばれる場合
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
MyControl myControl = new MyControl { ID = "myControl" };
this.Page.Form.Controls.Add(myControl);
}
初期化しますが、私はPage.Initに添付デリゲートはしていません。しかし、私は、プログラムのようなページにこのコントロールを追加した場合。私はここで間違って何をしていますか?
代わりに、ASP.NETの 'ASP:Panel'コントロールを使用して、必要に応じて' Visible'プロパティを切り替えてコントロールを非表示にすることをお勧めします。 –
他のコントロールの可視性の操作のためにページに余分なコントロールを追加するのは好きではない – Kizz