ASP.Net ile dinamik olarak oluşturduğunuz bir nesneniz olduğunu düşünelim.
Button dugme = new Button();
dugme.Text = "Bana tıkla";
dugme.Click += new EventHandler(dugmeTiklanmaOlayi);
Form1.Controls.Add(dugme);
Düğmenin tıklanma olayı aşağıdaki gibi olsun,
public void dugmeTiklanmaOlayi(object sender, EventArgs e)
{
Label lblMesaj = new Label();
lblMesaj.Text = "Düğmeye tıklandı";
Form1.Controls.Add(lblMesaj);
}
Düğmeye tıkladığınız zaman bu olayın çalışmadığını göreceksiniz, çünkü ASP.Net ile dinamik olarak oluşturulan nesnelerin olaylarının çalışması için PostBack durumunda OnInit olayının ezilerek kontrolün burada oluşturulması lazım ki Page_Load olayına kadar kontrol ile kontrolün olayı bağlansın. Şayet düğmeyi oluşturma kodunu aşağıdaki gibi OnInit içine alırsanız düğmenizin olayı çalışacaktır.
protected override void OnInit(EventArgs e)
{
Button dugme = new Button();
dugme.Text = "Bana tıkla";
dugme.Click += new EventHandler(dugmeTiklanmaOlayi);
Form1.Controls.Add(dugme);
}