Javascript'ten Codebehind Kodunu Çağırma

Rastgele beğendiğim sözlerden bir tanesi

Ne etrafımızı kıracak kadar sert, ne de karşınıızdakilere cesaret verecek kadar yumuşak olunuz

Sadi Şirazi Hazretleri

Javascript'ten Codebehind Kodunu Çağırma

Javascript'ten Codebehind Kodunu Çağırma Konuya uzatmadan, anlatmak istiyorum fakat başlığa kendi kendime takıldım. Gönül istiyordu daha anlaşılır, Türkçe bir ifade ile başlığı yazayım fakat şu ana kadar öğrendiklerimle bu pek mümkün değil. Cebren mümkünâtı olsı gözükmekle beraber, problemi yaşayanlara o durum pek yardımcı olabilir durmadığı için konuya hiç değinmeden, konu ile alakalı olanların anlayabileceği nahif bir ifade ile başlığımı yazdım işte. En kabul edebileceğim şekilde oldu bu başlık.
Benim gibi siz de asp.net ne kodluyorsunuz. Yazıyorsunuz yazıyorsunuz bir bakıyorsunuz, sunucu taraflı kod işiniz görmüyor. Örnekleri somutlandırmak konuyu böyle daha daha uzatacak, detaylandırmıyorum.

Anlaşılır olması için şöyle ki web sayfamı her 15 saniyede yenilemek istiyorum. Yenilerken de codebehind de kod çalıştırmak istiyorum.  Problemim bu.

İlk çözüm   <meta http-equiv="refresh" content="15"> gibi duruyor.bu ne yapıyor biliyorsunuz, sayfayı yeniliyor. Ben bunu istemiyorum. Bu şekilde sayfa komple sunucuya gidip geliyor. Bu istediğim bir durum değil. Ajax ile sayfamın belirli bir yerini gönder al yapmak benim amacım.
Detaya adım atalım. Codebehind da yenile() isminde fonksiyonum var. Bunu şu şekilde yazdığımızı varsayıyorum.
protected  void yenile() {/////////}

Akabinde istemciniz tarafına aşağıdaki kodu ekleyin.
   <script>
    window.setInterval(function () { __doPostBack('yenile', '') }, 15000); 
    // 15 saniyede 1
   </script>


Şimdi bu istemci tarafındaki kodun çalışması için codebehindda da sayfamızın load olayına aşağıdaki kod bloğunu eklememiz gerektiğini unutmayalım.
ClientScript.GetPostBackEventReference(this, string.Empty);
//Üst satır olmazsa olmazımız

            if (Request.Form["__EVENTTARGET"] == "yenile")
            {
                //call the method 
                yenile();
            }
Bunları yazdıktan sonra mevzu tamamdır. Scriptmanager veya updatePanel konusuna değinmiyorum. Onlar isteğe binaen tercihimdi.
Bu yazımı okuyan herkese iyi kodlamalar diliyorum.

PAYLAŞ!
Etiketler: javascript codebehind asp.net

EKREM GÜLCÜOĞLU HAKKINDA
Ekrem GÜLCÜOĞLU
Bilişim Teknolojileri Öğretmeni
Web sitem Facebook adresim Twitter adresim Google Plus adresim

Yorum Yaz

Adınız Soyadınız
Yaşınız
E-Posta Adresiniz
İnternet Adresiniz
Mesajınız


Yorumlar

Onaylanmamış: 0 yorum
Toplam: 0 yorum

SON YAZILARIM

ÇOK OKUNAN YAZILARIM

KATEGORİLERİNE GÖRE YAZILARIM

ETİKET BULUTU