Asp.Net’te User Control Eklemek

Programlama Yorum yaz

Asp.net içinde user control kullanarak kendi bileşenlerinizi oluşturabilir, onları istediğiniz gibi istediğiniz yerde dinamik olarak kullanabilirsiniz. Textbox, label gibi hazır gelen bileşenleri her C# kodlayıcısı bilir. Bu bileşenleri tutup süreükleyerek veya dinamik olarak oluşturarak kolaylıkla kullanabiliriz. Ben de çoğu projem içerisinde kendi bileşenlerimi oluşturarak kullanmayı tercih ediyorum. User Control’ü oluşturmak oldukça kolaydır ve ufak bir aramayla çeşitli kaynaklardan öğrenebilirsiniz. Burada kısaca sizlere user controlü dinamik olarak sayfalara nasıl ekleyeceğimizi ve çeşitli özelliklerini nasıl kullanacağımı kısaca anlatmak istiyorum.

Oluşturmuş olduğunuz aspx dosyasına bir user control eklemenin 2 farklı yolu vardır. Birincisi direk eklemek, ikincisi ise kod tarafında dinamik olarak eklemek. Çoğu kullanıcı pratik olduğu için sayfaya tutup sürükleyerek direk ekler ancak dinamik yapılar içeren projelerimizde bu şekilde kullanmak çoğu zaman ihtiyaçlarımızı karşılamayacaktır.

Elimizde Kontrol adında olan bir user control olduğunu varsayalım;

Kontrol.ascx dosyasını sayfayı görünüm olarak açıp (sayfa.aspx) tutup sürüklediğimiz zaman sayfanın üst kısmına  şu şekilde bir kod ekler;

<%@ Register src=”Kontrol.ascx” tagname=”Kontrol” tagprefix=”uc1″ %>

Bu kod ile sayfamıza bileşenimizi eklemiş oluyoruz. Kullanabilmek için ise sayfada istenilen yere

<uc1Kontrol ID=”Kontrol1″ runat=”server” />

satırını eklememiz gerekir. Eğer Kontrol bileşenimiz içinde bir özellik (property) tanımladıysak bunu kullanabilmek için kodu şu şekilde yazmamız gerekir;

<uc1Kontrol ID=”Kontrol1″ runat=”server” isim=”Baran” />  (isim adında bir özelliğimizin tanımlı olduğunu varsayalım)

Bileşenimizi bu şekilde kolaylıkla ekleyebilir ve kullanabiliriz ancak dinamik olarak eklemek istersek yukarıdaki kodların dışında kod satırına (sayfa.aspx.cs) şu kodları eklememiz gerekir;

Control Kontrol = LoadControl(@”Kontrol.ascx”) as UserControl;

Form.Controls.Add(Kontrol);

Bu şekilde bileşenimiz sayfamızdaki form içerisine eklenmiş oldu.

Eğer bileşenimiz içinde bir özellik  (property) tanımladıysak dinamik olarak bu özelliğimizi şu şekilde kullanabiliriz;

using System.Reflection; kütüphanesini kodumuzun en üst kısmına ekleyelim.

PropertyInfo ozellik = StokDuzenle.GetType().GetProperty(“isim”); // Kontrolümüzde isim adlı tanımlanmış olan özelliğimizin var olduğunu varsayıyoruz.
ozellik.SetValue(Kontrol, “Baran”, null);

Bu şekilde istediğimiz şekilde tanımlamalarımızı yapabiliriz.

Yazar: Baran
Etiketler: , , , , , |


3 Cevap to “Asp.Net’te User Control Eklemek”

  1. Kazım Diyor ki:

    Hidden due to low comment rating. Click here to see.

    Poorly-rated. Like or Dislike: Thumb up 4 Thumb down 8

  2. Serkan Diyor ki:

    Çok teşekkürler dostum, dinamik olayında beni büyük büyük bir dertten kurtardın.

    Beğendim - Beğenmedim: Thumb up 0 Thumb down 2

  3. null29 Diyor ki:

    mrb. benim anlamadığım o @ işareti ne :)

    birde şunu sorayım dinamik olarak eklediğimiz usercontrol ile sayfa aynı klasörde ise çalışıyor farklı klasörlerde ise hata veriyor bunu nasıl aşabiliriz.

    Beğendim - Beğenmedim: Thumb up 0 Thumb down 2

Yorum Yazın