Asp.Net İşlem Yapmak İstediğimiz Kontrolleri Liste Olarak Alma

Bu makalemizde IEnumerable interface(arayüzü)’nden faydalanıp kontrolleri nasıl liste halinde dönebileceğimiz göreceğiz.

Öncelikle ControlFind adında bir class oluşturuyoruz ve bu classın tanımlamasını IEnumarable olarak tanımlıyoruz bu sınıfdan instance aldığımızda bizden parametre olarak “Control” girmemizi isteyecektir ve FindChildControlRecursive adındaki metodumuzada istediğimiz kontrolün hangi kontrolün altında aranacağınızı parametre olarak geçiyoruz döngü ile kontrol içerisindeki istediğimiz kontrolleri bir lise halinde bize dönecektir. Cümle içerisinde çok fazla kontrol kelimesini kullandığımızı farkettim 🙂

Şimdi ControlFind adlı sınıfımıza bir gözatalım

Şimdi ise asp.net’sayfamızdan ControlFind sınıfını kullanalım

Üstteki kodlarda anlaşılacağı üzere ControlFinder sınıfından bir instance almaya çalışınca bizden aramak istediğimiz kontrol nesnesinin sınıfını parametre olarak geçmemizi istiyor. aldığımız instance ile FindChildControlsRecursive metoduna erişiyoruz bu metod ilede aradığımız kontrolün hangi nesne altında aranacaksa parametre olarak o nesneyi geçiyoruz mesela ContentPlaceHolder, Panel, MultiView vb. nesneler gibi daha sonra bu kontrollere yine instance’ini aldığımız cf adından ControlFind sınıfının FoundControl propert’si ile aramamızla eşleşen sonuçlara ulaşıyoruz ardından döngüylede Arraylist’e add metoduyla ekleyip son olarak Arraylist’imizde kaç tane kontrol bulunduğuyla ilgili bir sayı yazdıırıyoruz sayfaya.

İçeriği puanla diğer kullanıcılara ışık tut

Murat Öner sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et