Asp.Net İçe içe repeat'lardan üstteki repater'ların DataItem'ına erişme

Merhaba arkadaşlar yine bir projemde lazım olmuş bir durumu makaleleştirdim :)İç içe repeater'lardan içteki repater'dan dıştaki repeater'ın dataitemlarına yani veri tabanından, ya da elle oluşturduğumuz class'lardan gelen kolonlarına erişmeyi göstereceğim.
Normalde bir Repater'ın DataItem'ına Aspx tarafında
<%#Eval("KOLONADI")%> şeklinde erişiyoruz.. 
Üstteki repeatarın bir dataitem'ına bu şekilde erişemeyiz.
Bu şekilde yazarsak böyle bir kolon bulunmamaktadır şeklinde hata vericektir.
Üst Repeater'daki bir DataItem'a ulaşabilmek için aşağıdaki kodsatırını kullanıyoruz.
<%#DataBinder.Eval(((RepeaterItem)Container.Parent.Parent).DataItem,"KOLONADI") %>
önce içteki repeater'ın bir Parent ile RepeaterItem'ına Sonrasında bir Parent ile daha Üst Repeater RepeaterItem'ına Erişip (RepeaterItem)şeklinde Cast edip DateItem Property'si ile Üst Repeater'ın DataItem'ına erişmiş oluyoruz.

Kaynak: http://www.kodstrap.com/makale-asp.net-ice-ice-repeatlardan-ustteki-repaterlarin-dataitemina-erisme-1039

Yorumlar