Bilmek istediğin her şeye ulaş

ASP.Net kullanırken Container.DataItem mı Databinder.Eval mi tercih edilmeli? Neden?

Bana sorarsanız artık her ikisine de gerek yok çünkü 4.5 ile gelen yeni özellik ile artık bu tarz data bağlama işlemlerinde data türünü belirleyebiliyorsunuz ve "Item.PropertyName" şeklinde nesneye erişebiliyorsunuz. Hatta bu konuda daha önce yazdığım bir yazıda kullanımını bulabilirsiniz:

ASP.NET 4.5 ve Visual Studio 2012 ile gelen yeni harika özellik(ler)

Bunun dışında yine de Container.DataItem ile Eval arasında bir seçim yapmak isterseniz bence çok büyük bir farklılık yoktur (en azından performans üzerinde hissedilir bir etki göremezsiniz). Bildiğim şey, Eval("PropertyName") fonksiyonu data olarak bağlanan nesnenin tüm özelliklerini tarar ve yazdığınız string ile eşleşen data türünün değerini bağlar. Bu yöntemin ve Container.DataItem'ın en büyük dezavantajı derleme esnasında olası bir hatayı compiler'da göremezsiniz. Yani Eval("Email") şeklinde bir bağlama biçimi doğru ise, yanlışlıkla siz Eval("Emails") yazmış iseniz, veya o property "Email" yerine "ContactMail" olarak değiştirilmiş ise derleme esnasında bunu farkedemezsiniz. Sayfayı çalıştırmış olmanız gerekir hatayı fark etmeniz için.

Benim tavsiyem, 4.5 ile gelen özelliklerden faydalanmanızdır ve her zaman mümkünse yeni versiyonlara upgrade etmenizdir.
  • Paylaş
2

Sinan D, cevap için teşekkürler, henüz 4.0 la devam ediyorum yakında geçeceğim.

Hakan Köse, Rica ederim, kolay gelsin.

Sonraki Soru
HESAP OLUŞTUR

İstatistikler

934 Görüntülenme3 Takipçi1 Yanıt