Ana Sayfa Microsoft .NETAsp.Net ASP.Net Update Panel Postback Sonrası Javascript Çalışmaması

ASP.Net Update Panel Postback Sonrası Javascript Çalışmaması

by Sinan BOZKUŞ
13.066 kez okundu

ASP.NET Web Forms kullananlar bilirlerler update panel içerisinde bir postback işlemi gerçekleştirdiğimizde (butona tıklama, dropdown seçme işlemi vb.) update panel içerisinde kullanılan javascript ve jquery kodlarımız çalışmaz hale gelir. Hatta jquery ile checkboxlarımıza vs. stil verdiysek onlarda kaybolur ve tüm hevesimiz kaçar :(

Yıllardır yaşadığım bu problemle ilgili nihayet bir çözüm bulabildim, AspSnippets üzerindeki şu makale de çözümünü anlatmışlar. Bende kendimce Türçe’ye çevirerek açıklayacağım.

Yaşadığımız bu sorunun nedeni sayfa postback olduktan sonra sayfanın tarayıcıda tekrar yüklenmesi ve bu yükleme işlemi yaparken de updatepanel’e javascript kodlarımızı tanımlamadığımız için bu kodların çalışmamasından kaynaklanıyor. Çözüm olarak yazdığımız javascript methodlarının aynılarını birde updatepanel postback işlemini gerçekleştirdikten sonra çalıştıracağız.

Örnek vermek gerekirse;

[javascript]<script type="text/javascript">
    // Sayfa yüklendiğinde çalışan kodlarımız bunlardır.
    $(function () {
        $("#dvAccordian").accordion();
        $("#tabs").tabs();
    });

    // Aynı methodları postback işlemi gerçekleştiğinde aşağıdaki şekilde çalıştırıyoruz.
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prm != null) {
        prm.add_endRequest(function (sender, e) {
            if (sender._postBackSettings.panelsToUpdate != null) {
                $("#dvAccordian").accordion();
                $("#tabs").tabs();
            }
        });
    };
</script>[/javascript]

 

Bunlara da bakmak isteyebilirsiniz

2 yorum

Durmuş GÜNEY 29 Aralık 2015 - 11:16

Sinan hocam merhabalar,

Update panel ile ilgili bir sorum olucak sizlere,

bir adet repeater’ım var update panel ile butona tıkladığımda repeater’ın içeriğini güncellemem gerekiyor. bu işlemleri sorunsuz şekilde yaptım ancak. Hazır olarak kullanmış olduğum script kütüphaneleri sayfanın ilk yüklenme anında geliyor. update paneli tetikleyen butona tıkladığımda ortadan kayboluyor. script dosyalarını update panel çalıştığında da yükleme ile alakalı yardımcı olabilir misiniz. İsterseniz mail yolu ile iletişime geçebiliriz.

İyi günler

Yanıtla
Sinan BOZKUŞ 29 Aralık 2015 - 11:23

Merhaba,

if (sender._postBackSettings.panelsToUpdate != null) {

Büyük ihtimalle o kütüphaneler aktif olmak için bir function çağırıyordur. O function’ı yukarıdaki alan içerisinde çağırırsanız işinizi görür diye düşünüyorum.

İkinci alternatif olarak yine bu alan içerisinde ilgili script dosyalarını dinamik olarak tekrar eklemeyi deneyebilirsiniz.

Yanıtla

Durmuş GÜNEY için bir cevap yazın Cancel Reply