Arkadaşlar Repeater, DataList ve benzeri Asp.Net kontrollerine kendi oluşturduğumuz bir class ile veri kaynağı oluşturabiliriz.
Kullanıcağım örnekte veritabanından gelen verileri Entity Framework kullanarak çekiyorum..
"Not: Veritabanından üyelik durumları aktif olan üyeleri çekiceğiz. Öncelikle verileri tutacak class'ımızı yazıyoruz."
//Class içinde oluşturduğumuz property'leri Eval("propertyismi"); şeklinde tanıtıyoruz. public class Member { public int uye_id{get;set;} public string adSoyad{get;set;} }
Burda oluşturduğumuz class aslında sql server üzerinde oluşturduğumuz tablodan hiç bir farkı yok. Daha sonra verilerimizi çekiyoruz.
ornekdb db = new ornekdb(); Listyeni_liste = new List (); var uyeler = db.members.Where(w=>w.is_active=true).ToList(); //foreach ile dönen liste içinde dönüp oluşturduğumuz class'ın //Listesine atıyoruz. foreach(var item in uyeler) { yeni_liste.Add(new Member{ uye_id=(int)item.id, adSoyad=item.ad+" "+item.soyad }); }
Verileri yeni veri kaynağına ekledikten sonra artık Repeater'ımıza bağlıyoruz.
rptActiveMembers.DataSource = yeni_liste; rptActiveMembers.DataBind();
Aynı veri kaynağını DropDownList kontrolünede bağlayabiliriz.
//DropDownList'in Text Alanı drpActiveMembers.DataTextField = "adSoyad"; //DropDownList'in seçilecek olan item'ının değeri. drpActiveMembers.DataValueField ="uye_id"; drpActiveMembers.DataSource = yeni_liste; drpActiveMembers.DataBind();
İyi Kodlar!