Asp.Net ile Ajax'a Giriş

15/1/2008 ·

Ajax, uzun adıyla Asynchronous Java****** and XML, Java****** ve XMLHttpRequest’leri birarada kullanarak etkileşimli Web siteleri yaratmak için üretilmiş bir tekniğin adıdır.

Ajax, aslında tek başına yeni bir teknoloji değildir, varolan birçok web teknolojisinin birbirine entegre edilmiş halidir.

Ajax’dan önce bir web sayfasında herhangi bir ServerSide işlem yapıldığında bütün sayfa sunucudan istenirdi, Ajax’dan sonra ise sadece formun ilgili kısmının sunucudan istenilmesi sağlandı. Bu tekniğin getirdiği büyük artılardan biri hızın artması bir diğeri ise kullanıcı ile etkileşimin artmasıdır.

Asp.Net platformu Ajax’ı uzunca bir süredir desteklemektedir. Bu makalemizde Asp.Net kullanarak Ajax konusuna bir giriş yapacağız. Öncelikle bilgisayarınızda Visual Studio 2008 (http://www.microsoft.com/express adresinden indirebilirsiniz) veya Visual Studio 2005 ile beraber Ajax kütüphanesini ve kontrol kitini indirmelisiniz (http://www.asp.net/ajax/downloads adresinden indirebilirsiniz).

Şimdi Asp.Net kullanarak Ajax konusuna bir giriş yapalım. Visual Web Developer’ı açalım ve file menüsünden New Project’e tıklayalım. Gelen menüden Asp.Net Website’ı seçelim ve sitemize bir isim verelim, örneğin “AjaxTest”.

Asp.Net’de Ajax içeren her sayfada Script Manager adı verilen bir Control kullanmamız gerekir. Bu Control’ü eklemek için açılan Default.aspx sayfasında Design’a tıklayalım. Toolbox’dan “Ajax Extension”’ı seçelim ve buradan da Script Manager Control’ünü sayfamıza sürükleyip bırakalım.

Şimdi de sayfamıza yine Toolbox’daki “Ajax Extensions” bölümünden iki adet Update Panel Kontrolünü sürükleyip bırakalım. Şu ana kadar sayfamızda Ajax kullanmak için gerekli bütün kontrolleri eklemiş olduk.

Daha sonra sayfamıza iki adet label ekleyelim. Bunun için Toolbox’dan label’ı sürükleyip Update Panel1’in üstüne bırakmamız yeterli. İkinci label’ı da Update Panel2’nin üzerine bıraktıktan sonra ToolBox’dan bu defa iki adet Button ekleyelim. Buttonlardan birine sağ tıklayalım ve Properties’i seçelim, Text özelliğine “Bir” yazalım, ikinci Button içinde aynı işlemi yapıp Text özelliğine “İki” yazalım. Bu Button’ları Update Panellerin dışında bir yere eklememiz gerekmekte.

Update Panel1’in üzerine gelip sağ tıklayalım ve açılan menüde Triggers’daki açılan menüye tıklayalım. Açılan pencerede Add’e tıklayalım. Sağ tarafta ControlId’ye tıklayalım ve açılan menüden Button1’i seçelim. Aynı işlemi bir kez de Update Panel2 için tekrarlayalım ama bu defa Button2’yi seçelim. Her iki durumda da Event Name’ “Click” olarak seçmeliyiz. Ayrıca her panel için Update Mode’u Conditional seçmeliyiz.

Tekrar Designer’a geri dönelim ve Button1 ve Button2’ye çift tıklayalım. Bu sayede her ikisi içinde “Click” eventini üretmiş olduk. Bundan sonra kodumuzu aşağıdak şekilde değiştirelim.

using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {    }

    protected void Button1_Click(object sender, EventArgs e)

    {

        ZamanGoster();

    }

    protected void Button2_Click(object sender, EventArgs e)

    {

        ZamanGoster();

    }

    private void ZamanGoster()
    {
        Label1.Text = DateTime.Now.ToLongTimeString();

        Label2.Text = DateTime.Now.ToLongTimeString();

    }

}

Burada hangi Button’a basılırsa basılsın iki label’ın da değerini değiştiriyoruz. Programı çalıştırdığınız zaman basılan düğme hangi Update Panel’de bir event’i tetikliyorsa ancak o panelin içindeki label’ın değerinin değiştiğini göreceksiniz. İşte Ajax bu şekilde işliyor, sayfanızın bir kısmı durağan iken diğer bir kısmında istediğiniz gibi değişiklik yapabiliyorsunuz.

Bu makalede Asp.Net ile Ajax uygulamarına bir giriş yapmış olduk. Daha sonraki yazılarda bu konu üzerine eğilmeye devam edeceğiz.

 

 

EkleBunu Sosyal Paylaşım Butonu

Yorum (0) Yorum yaz! Arkadaşına Gönder!

0 yorum yazılmıştır

« Önceki :: Sonraki »