Search

Eval Fonksiyonunun Etkin Kullanımı



0 yorum

Eval Fonksiyonunun Etkin Kullanımı


eval etkin kullanım erenguvercinASP.NET ile data bağlantıları sırasında sıklıkla kullandığımız bir fonksiyon Eval fonksiyonu. Ancak bazı durumlarda Eval ile bağlamış olduğumuz verilerin yorumlanıp farklı verilere dönüştürülmesini isteyebiliriz.
Böyle durumlarda Eval ile IF/ELSE komutu kullanabilir yada farklı bir fonksiyona parametre olarak gönderip istediğimiz sonucu ekranda görüntüleyebiliriz. Bu durum için en sevdiğim süper kahramanlardan olan Batman'i örnek olarak göstermek istiyorum. Normal hayatında Bruce Wayne olarak yaşayan karakter, zor durumlarda kostumunu giyerek, Batman'e dönüşür ve insanlar onu o şekilde görür. Bu durumu eval ile bağladığımız verilerin gerçek değerinin değil maskelenmiş değerinin kullanıcıya gösterilmesine benzetebiliriz.

Şimdi bu durumları nasıl gerçekleştireceğimize bakalım.

Eval ile IF/ELSE Kullanımı

Veritabanımızda durum isimli bir sutunun olduğunu düşünelim ve değeri 0 ise YANLIŞ, değilse DOĞRU olarak ekrana yazdıralım. Bu durumda aşağıdaki gibi bir kısa IF/ELSE kullanımı yapılabilir.
ASPX:
<%#Convert.ToInt32(Eval("durum"))==0?"YANLIŞ":"DOĞRU" %>


Eval ile Fonksiyon Kullanımı

Veritabanından görüntülemiş olduğumuz kayıtlar daima IF/ELSE kullanımına uygun olacak kadar az seçenekli olmayabilir. Bu gibi durumlar fonksiyon kullanılarak çözümlenebilir.
Örneğin plaka numaralarına göre şehirlerin elimizde olduğunu varsayalım. Plaka numaralarına göre şehirlerde farklı bir veritabanımızda olsun ve biz o farklı veritabanına bağlanarak şehirlerin isimlerini elde edelim.
<%#sehirAdiniGetir(Eval("plakaNo")) %>
public static string sehirAdiniGetir (object plakaNo)
{
    string sehirAdi;
    sehirAdi = //plakaNo ile şehir adini çekeceğimiz SQL komut işlemleri
    return sehirAdi;
}

Bu şekilde bir kullanım ile şehir adları ekranda gösterilecektir.
Burada dikkat etmemiz gereken asıl kısım Eval fonksiyonun object türünden olduğudur. İstersek tür dönüşümü yapılarak parametre gönderilebilir.

0 yorum:

Yorum Gönder

Check Page Rank
DMCA.com