UpdatePanel Kullanırken…
Asp.Net ile uygulama geliştirirken hepimiz bir kere bile olsa updatepanel kullanmışızdır. Bazen bunu kullanılabilirlik için yaparken bazen de performans için yapabiliyoruz. Eğer updatepanel’i performans için kullanıyorsak dikkat etmemiz gereken bir nokta var. Örneğin bir web uygulaması yazdık. Bu uygulamada sol tarafta ağır sorgular sonucu getirilen bilgiler listeleniyor. Sağ tarafta ise basit kullanıcı işlemleri yapılıyor. Uygulamamızı çalıştırdığımızda sol taraftaki işlemler nedeniyle sayfadaki her postback’de sayfamız geç yükleniyor. Oysa biz sağ taraf güncellenirken sol tarafta işlemlerimize devam etmek istiyoruz. Hemen updatepanel aklımıza geliyor. İki tane updatepanel kullanıyoruz sağ ve sol taraf için. Tabii ki UpdateMode’u nu da conditional yapmamız gerektiğini biliyoruz. Evet tamam şimdi oldu. Mu? Uygulamamızı tekrar çalıştırdığımızda sağdaki updatepanel’de bir güncelleme yaptığımızda sayfamızın yine yavaş geldiğini görürüz. Bunun nedeni sadece bir updatepanel güncellenmesine rağmen ASP.Net sayfasının yaşam döngüsü nedeniyle sol taraftaki kodun bağlama işlemi de tekrar edilir. Bir de custom control ya da user control kullanırsanız, bunu farketmek daha da zor olacaktır. Bunu aşmak için belirli sayfanın yaşam döngüsünde postback’e neden olan kontrolleri takip ederek, belirli işlemlerin yapılmamasını sağlamalıyız. Mesela örneğimizdeki sol taraftaki databind işlemi için sadece bir timer ise yada belirli bir buton ise databind işlemini gerçekleştirmesini sağlayabiliriz.