Bir kontrolü programatik olarak oluşturmak ve sayfaya eklemek mümkündür. Oluşturduğumuz dinamik kontrolleri Panel yada PlaceHolder’ı kontrollerine eklememiz gerekmektedir. Oluşan kontrolü bir panele eklediğimiz zaman, kontrol panelin en altında oluşacaktır. Oluşturduğumuz kontrollerin istediğiniz bir yerde görünmesi için PlaceHolder kontrolüne eklememiz gerekmektedir.Dinamik bir kontrol oluşturulduğu zaman bu kontrol bir daha ki postback`e kadar var olacaktır. Oluşturulan bir kontrolün bir çok defa oluşmasını istiyorsak kontrolümüzü Page_Load veya Page_Init olayının içinde oluşturmamız gerekmektedir. Bir buton kontrolünün dinamik olarak oluşturulması aşağıdaki gibidir:protected void Page_Load(object sender, EventArgs e){Button btn = new Button();btn.ID = “yeniButon”;btn.BackColor = Color.Red;btn.Text = “Dinamik Buton”;PlaceHolder1.Controls.Add(btn);}
Dinamik olarak oluşturulan bir kontrole erişmek için FindControl() methodunu kullanabiliriz. Tabi bunun için oluşturduğumuz kontrolle ID vermeyi unutmamamız gerekmektedir.Button butonBul = (Button)Page.FindControl(“yeniButon”);
Dinamik olarak eklediğiniz kontrollere olayda ekleyebilirsiniz. Şayet oluşturduğunuz kontrole olay eklemek isterseniz, delegate yardımıyla bunu yapabilirsiniz.btn.Click = new EventHandler(btn_Clicked);void btn_Clicked(object sender, EventArgs e){Label1.Text = “Dinamik butona basıldı.”;}