mehmetduran.com - Paylaşmak Güzeldir...
Jquery ile Asp.net Sayfasına Ajax İsteğinde Bulunma
Bu yazımda Jquery ile Ajax işlemlerinde direk olarak sayfamıza Ajax isteğinde bulunmayı göstermeye çalışacağım. Daha önce Jquery ile Ajax işlemlerinde genelde metotları, ashx (generic handler) dosyalarını ve web servisleri kullanmıştık. Şimdi ise bunlara asp.net sayfamızı ekliyoruz ve Ajax isteğini asp.net sayfamıza yapıyoruz. Böylelikle Jquery ile Ajax işlemlerini daha iyi kavramış olacağız ve daha güzel uygulamalar geliştirebileceğiz. Ayrıca Ajax isteğinde bulunabileceğimiz nesneleri de yani seçeneklerimizi de artırmış oluyoruz. Şimdi bu uygulama için yazmamız gereken Jquery kodlarına bakalım.

Asp.net sayfamıza Ajax isteğinde bulunmak için aşağıdaki html yapısına göre Jquery kodlamasını yapacağız. Ancak şunu belirteyim ki sayfa isteğinde datatype olarak bir tipimiz yok. Daha önce bunu ashx dosyalarına Ajax isteğinde bulunurken görmüştük (Buradaki yazımda). Datatype json olan Ajax isteklerimizi metotlara ve web servislere yapıyorduk. Sayfalara datatype olmadan Ajax isteği yapacağız. Örnek kodlama aşağıdaki gibi olacak.

  //script kodlarımız
  <script type="text/javascript">
    $(document).ready(function(){
      $("#linkler a").click(function(){
        var adres = $(this).attr("href");
        //adres değişkeni sayfa.aspx gibi bir değer oluyor.
        $("#load").show();
        $.ajax({
          type:"post",
          //url'de adres değişkeninden gelen sayfayı belirliyoruz.
          //sonuçta url:"sayfa.aspx" gibi bir değer elde ediyoruz.
          url:adres,
          data:{},
          success:function(msg)
          {
            $("#sonuc").html(msg); //sayfa sonucunu yazdırıyoruz.
            $("#load").hide();
          }
        });
        return false;
      });
    });
  </script>
 
  // html kodlarımız
  <div id="linkler">
    <a href="sayfa1.aspx">Sayfa 1</a>
    <a href="sayfa2.aspx">Sayfa 2</a>
    <a href="sayfa3.aspx">Sayfa 3</a>
  </div>

Görüldüğü gibi eklenen sayfalara istekte bulunup bilgileri elde ediyoruz. İstekte bulunduğumuz sayfada tüm server kodları ve server kontrolleri çalıştırılmış olarak geliyor. Böylece Jquery ile Ajax işlemlerini daha iyi kavramış oluyoruz.

Artık daha iyi uygulamalar geliştirebiliriz. Örnek kodlarını verdiğim ve basit bir uygulama olarak hazırladığım projeyi buradan indirebilirsiniz. Ayrıca buradan da çalışır halini görebilirsiniz.

İyi Çalışmalar.

Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Jquery ile Cookie İşlemleri Css e-book Jquery ile Ajax İşlemlerinde Güvenli Parametre (Data) Kullanımı C# ile Extension Metot Yazma ve Kullanma (Lambda Expression Dahil) Visual Studio 2008'de Copy Source as HTML Kullanma
Yorumlar
Yorum Yaz
RSS Yorum Takibi
Burak 11 Haziran Cuma 2010 10:25 #1
Çok teşekkürler, çok yararlı bir makale olmuş... :)
Cem Altiner 02 Temmuz Cuma 2010 15:19 #2
Makale için teşekkürler, son zamanlarda .Net ortamında AJAX kullanımı için PokeIn isimli bir kütüphane dikkatimi çekti. Onunla ilgili bir makale hazırlarsanız çok memnun oluruz. adresi (http://pokein.codeplex.com)
Mehmet Duran 02 Temmuz Cuma 2010 15:29 #3
Merhaba. Söylemiş olduğun kütüphaneyi yeni duydum. Ajax ile ilgili olarak gün geçtikçe çok daha fazla kaynak oluşuyor. Ancak bunların hepsini öğrenip kullanmak zor. Bunun yerine bunlardan birini seçip onun üzerine yoğunlaşmak daha mantıklı. Ben şu anda jQuery üzerine yoğunlaştım ve kendimi de geliştirdim. Bunun dışında bir kütüphane ile ilgilenmem şu an için zor görünüyor.
Bahadır 15 Eylül Çarşamba 2010 16:30 #4
Merhaba "success" eventinde oluşan fonksiyon parametresi yani "msg"ın aldığı değer istekde bulunduğumuz sayfanın içeriği mi? Yani "sayfa1.aspx" den gelen veri, "msg" paramteresine iletiliyor oradan "sonuc" idli tag içerisine yerleştiriliyor. Doğru mu?
Mehmet Duran 15 Eylül Çarşamba 2010 18:25 #5
@Bahadır, evet aynen söylediğin gibi.
Bahadır 15 Eylül Çarşamba 2010 21:28 #6
Of bir hareketlenme oldu bende. Meğersem ben süper zekaymışım :D
Mehmet Duran 16 Eylül Perşembe 2010 14:34 #7
@Bahadır, nerede hareket orada bereket. :D
Bahadır 17 Eylül Cuma 2010 10:47 #8
Valla kendi blog sitemi hazırlıyorum şu sıralar. Tasarım olarak değilde site erişim noktaları olarak senin bloğuna benzedi biraz kusura bakma. Birde bir formspring hesabı açsan kendine süper olcak. Mail attım sana 2-3 tane cevap yazmadın. Vaktin dar biliyorum. Formspring kullansan daha rahat olur diye düşünüyorum. En azından yoğunluğu daha az bir server'da çalışmak sana insanlara yardımcı olmak açısından daha faydalı olur. Alakasız soruları alakasız yerlerde sormakda istemiyorum...
Mehmet Duran 17 Eylül Cuma 2010 14:05 #9
@Bahadır, blog sistemini hazırlaman güzel bir olay. Ben de blog yazmaya başladığımda beğendiğim takip ettiğim bloglardan esinlenmiştim. Bu gayet normal. Diğer konuya gelince son 2 yıldır hem blog üzerinden hem de email üzerinden birçok soru, görüş, vb. geliyor. İlk başlarda bunları aksatmadan cevaplıyordum. Ancak bir süre sonra bu imkansız olmaya başladı. Hem kendi işlerimin yoğun olması hem de bu iş için epey zaman gerekmesi sebebiyle bir süredir gelen emailleri cevaplayamıyorum. Son dönemde bloğuma da zaman ayıramıyorum. Sosyal siteleri takip etmem şu an için zor.
Bahadır 17 Eylül Cuma 2010 14:23 #10
Söylediğim şey bir sosyal ağ sayılmaz. Sadece soru sorulan biryer. Reklam olmaması için link vermiyorum şimdi :) Daron, Burak, Adem hocalarımız kullanmakta. Zaten açsan soruların %90'ı benden gelir :D Hatta aklımda ufacık bir elentide var. sorumerkezi.mehmetduran.com şeklinde bir subdomain açsan oraya AutoComplate ile makaleyi seçtirip soruyu sordursan güzel olabilir. Kendi blog sitem için düşündüğüm bir bölüm.
Mehmet Duran 17 Eylül Cuma 2010 15:45 #11
Formspring.me sistemini kullandım ne olduğunu biliyorum. Birçok kişi ile iletişim kurabildiğin için sosyal bir ağ sayılır. Diğer seçenek yani kendi bloğum üzerinden bir sistem geliştirmek de olabilir ama bloğu açmamım amaçlarından biri de bu idi. Paylaşım yanında yapılacak yorumlar ve tartışmalar ile karşılıklı bilgi paylaşımını sağlamak. Şu ana dek bunu yaptığımı sanıyorum. Bu yüzden şimdilik ek bir sisteme ihtiyaç yok gibi. Ama ilerde ne olur bilemem. :D
Bahadır 17 Eylül Cuma 2010 15:54 #12
Evet haklısın. Koymayacağım bende vaz caydım :D Ayrıca şahsi olarak düşüncem yardımda bulunup insanları bilgilendirme konusunda bunu yaptığından kesinlikle eminim ve hiçbir şüphem yok. İleri düzey Asp.NET adresi için www.mehmetduran.com :)
Mehmet Duran 17 Eylül Cuma 2010 16:22 #13
Benim fırsatım ve vaktim olmadığı için söylediğini yapamıyorum. Senin fırsatın, vaktin ve isteğin varsa yapabilirsin. Kendi adına çok iyi olur. İleri düzey mi bilmem ama faydalı gördüğüm şeyleri paylaştım ve paylaşmaya devam edeceğim. Umarım faydası oluyordur.
Bahadır 17 Eylül Cuma 2010 18:08 #14
AJAX'ı, jQuery'i senden öğrendim daha ne olsun? :)
Mehmet Duran 18 Eylül Cumartesi 2010 10:05 #15
Öyleyse ne mutlu bana. :D
fatih 03 Ekim Pazar 2010 21:40 #16
merhaba. yaptığınız uygulamada sayfa1 e datalist ekliyorum. fakat sayfa1 e tıkladığımda datalistteki bilgiler goruntulenmiyor. onun haricindeki bilgiler gosteriliyor. yardım lutfen
Mehmet Duran 07 Ekim Perşembe 2010 11:18 #17
@fatih, merhaba. Burada sorunun kaynağını bulmak için debug modda çalışmanı ve hata varsa hatanın nedenini bulman iyi olur. Eğer ekranda gözükmesi gereken veriler gelmiyorsa muhtemelen hata oluşuyordur. Debug ile bu hatayı görebilirsin. Hataya göre de çözümü araştırıp bulabilirsin.
Gercek Haskız 17 Aralık Cuma 2010 18:37 #18
Burada farklı sayfaları çağırıyoruz . Aynı sayfayı çağırıp .id ' ye göre farklı dataları nasıl göstermek istiyorum.
Mehmet Duran 06 Ocak Perşembe 2011 11:03 #19
@Gercek Haskız, bunun için adresleri aynı sayfa üzerinden oluşturmalısın ve querystring ile id'leri belirtmelisin. Daha sonra istek yapılan sayfada gelen id'leri alıp işlemlerini yapacaksın.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Büyük işler gibi, büyük düşüncelerinde davula ihtiyaçları yoktur.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009