ASP.NET DataList ItemDataBound Event Nedir?

Doğuhan Aydeniz tarafından yayınlanmıştır 14. Kasım 2009 15:51

Merhaba arkadaşlar, Asp.Net'i yeni yeni öğrenmeye başladığınız zaman belli bir zaman sonra ihtiyaç duyacağınız ItemDataBound event'ının nasıl kullanılacağını göstereceğim.

Şimdi herhangi bir projemizin hernangi bir .aspx sayfasında :
- Asp.Net DataList kontrolü oluşturalım ID'si dlAnaKategori olsun
- dlAnaKategori DataList'imizin ItemTemplate'ine bir Asp.Net Label kontrolü yerleştirelim ve ID'si lblKategoriID olsun.

<asp:DataList ID="dlAnaKategori" runat="server">
       <ItemTemplate>
             
<asp:Label ID="lblAnaKategoriID" runat="server" Text="Label"></asp:Label>
      
</ItemTemplate>
</asp:DataList>



lblKategoriID, artık DataList'imizin her item'ında oluşturulacaktır. Fakat bu kontrole .cs sayfanızda direkt olarak ulaşamayız çünkü o DataList'in item'larına ait bir kontrol. Dolayısıyla müdahele etmemiz için ItemDataBound event kodlarına ihtiyaç duyacağız. 

NASIL KULLANILIR?
DataList'in ItemDataBound event'ını oluşturmanız için;
1-) .aspx sayfanızın Design tarafına geçin ve ilgili DataList'inize bir kere tıklayın.
2-) Sağ alt köşede yer alan Properties kutucuğunun içerisinin değiştiğini ve Dataliste ait özelliklerin listelendiğini göreceksiniz
3-) Yıldırım işaretine bir kez tıklayın.
4-) Tıkladıktan sonra DataList'e bağlı event'ların listesi gelecektir ve o listenin içerisinde ItemDataBound'da bulunmaktadır. Çift tıklayıp isimlendirmesini ve .cs tarafındaki kodların oluşmasını otomatik olarak yapmasını sağlayabilirsiniz. [RESİM - 1]


RESİM - 1 : ItemDataBound nasıl oluşturulur?


Bu işlem yapıldıtan sonra ;

.aspx sayfasında ki DataList'in şöyle bir özellik aldığını göreceksiniz :
onitemdatabound="dlAnaKategori_ItemDataBound"


.cs tarafında ki ItemDataBound event kodları :
protected void dlAnaKategori_ItemDataBound(object sender, DataListItemEventArgs e)
{




Şimdi DataList'imizin içerisinde ki Label kontrolüne nasıl erişebileceğimize bakalım.

"DataListItemEventArgs e" nesnesini kullanacağız.

 
protected void dlAnaKategori_ItemDataBound(object sender, DataListItemEventArgs e)
{

//DataList içerisinde ki Label'a, e nesnesinin item'larına
//FindControl methodu ile ulaşabiliyoruz.

Label lbl = (Label)e.Item.FindControl("lblKategoriID");
lbl.Text =
"Ulaştık, artık DataList'e bağlı olan veri kümesi için her dönüşünde bu kodlar çalışacak ve her item'in içerisindeki Label'da bu yazı yazacak.";

}

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: ,

ASP.Net | C#



Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.