Asp.Net Kontrollerinde Eval() akışı

09 Aralık 2011

01.05.2009 tarihinde oğuzhan tarafından yazıldı.

Huh! başlık enteresan oldu ama konu çok enteresan değil. Kendime bir CheetSheet yapayım diyorum hatırlaması kolay olsun diye, neyse konuya girelim..

Asp.Net kontrollerini kullanırken DataBinding olayın da, gelen verinin belirli koşullara göre bind olmasını isteyebilirsiniz.  Böyle durumlarda Eval() metodunu kullanarak kontrolün istediğimiz özelliğine (attributes) belirli bir koşula göre değer atayabilme ihtiyacımız doğar. Aşağıda Eval() metodu ile nasıl koşul kullanabiliyoruz bildiğim kadarı ile örneklerini veriyorum.

Olayı tam çözmek için
<%# BirSeylerYap(Eval("deger")) %>
       private string BirSeylerYap(string Deger)
        {
            if (Deger.Equals("bune"))
                return "beyaz";
            else
                return "siyah";
        }
Kullanışlı bir örnek.
<%#Eval("deger").Equals("bune") ? "beyaz" : "siyah"%>
Object türünden.
<%#Eval("deger") ?? "beyaz"%>
if..else..else if gibi ise.
            <%#Eval("deger").Equals("A") ? "beyaz" : 
                    Eval("deger").Equals("B")? "siyah":
                    Eval("deger").Equals("C") ? "yesil":
                                                    "sari"%>
bu kadar ;)