ScriptManager.IsInAsyncPostBack Özelliği

Önceki yazılarımda AJAX kontrollerini kullanarak geliştirdiğiniz ASP.NET uygulamalarında yapacağınız asenkron postbacklerde sayfanın sunucu tarafında sıfırdan üretildiğinden bahsetmiştim. WebMethod'larla AJAX Sayfalarını Daha da Hızlandırın başlıklı yazımın ilk paragrafını konunun kısa detayı için okuyabilirsiniz. Aynı makalede WebMethod’ları kullanarak AJAX uygulamalarında daha hızlı işlemler gerçekleştirileceğinden bahsetmiştim. Ancak uygulama içerisinde WebMethod’lar değil de UpdatePanel’lerle asenkron işlemleri gerçekleştiriyorsanız yine uygulamanızı hızlandırmak için önemli bir ipucu var. O da ScriptManager kontrolünün IsInAsyncPostBack özelliği(property). Adından da anlaşılacağı üzere yapılan talebin asenkron postback olup olmadığı bilgisini getiriyor. Özelliğin kullanımına örnek olması açısından şöyle bir kod parçası üzerinden gidelim:

protected void Page_Load(object sender, EventArgs e)

{

    //Veritabanından son eklenen 40 haberi getir

    //Haberlere yapılan son 10 yorumu getir

}

 

protected void Button1_Click(object sender, EventArgs e)

{

    //Döviz bilgilerini getir. Bu kısım partial postbackte çalışacak

}


Bu şekilde hazırlanan bir sayfada Page_Load’da eriştiğiniz kontroller UpdatePanel’in içerisinde değilse ve UpdatePanel’in içeriğini Button1’e tıklamak güncelleyecekse yukarıda görmüş olduğunuz Page_Load metodundaki kodlar Button1’e her tıklandığında gereksiz yere çalışacaktır. Dikkat edeceğiniz üzere sadece Button1’e tıklanması yeterli değil, Page_Load’da yapılan işlemlerin de UpdatePanel içeriğiyle ilgili olmaması gerekiyor. Page_Load metodunu aşağıdaki şekilde düzenlediğinizde artık Button1 üzerinden gerçekleşen partial postback işlemlerinde sunucu tarafında daha az kod çalışacak ve sayfanın daha hızlı şekilde güncellenecektir.

protected void Page_Load(object sender, EventArgs e)

{

    if (!scriptManager1.IsInAsyncPostBack)

    {

        //ScriptManager üzerinden asenkron işlem yapılmıyorsa;

 

        //Veritabanından son eklenen 40 haberi getir

        //Haberlere yapılan son 10 yorumu getir

    }

}


11 Ağustos 2009 Salı 23:09

Yorum - RSSYorumlar (5)

Kategori: ASP.NET

facebook'da Paylaş   twitter'da Paylaş   friendfeed'de Paylaş   del.icio.us'da Paylaş   stumpleupon'da Paylaş   Permalink

Yorumlar

Yorum ekle


 

biuquote
  • Yorum
  • Canlı önizleme
Loading




Bağlantılar



Takip Et

RSS Feed twitter friendfeed

Seminer/Webiner Programım

  • Seminer-WebinerADO.NET Entity Framework (Yıldız Teknik Üniversitesi)
    6 Mart 2010

  • Seminer-WebinerASP.NET 4.0 ile Gelen Yeni Özellikleri Yakından Tanıyın (Microsoft)
    18 Şubat 2010

  • Seminer-WebinerC# 4.0 ve Visual Basic 10 ile Uygulama Geliştirmenin Püf Noktaları (Microsoft)
    28 Ocak 2010

>> Etkinlik Takvimi