Yazar GİRİŞİ

Son eklenen makale ve haberler

  Programlama

Anthem kütüphanesini tanıyalım 2 - asp.net ajax yazıları

Anthem i kullanmaya başladıysanız ve örneklerini incelediyseniz, kullanımının ne kadar kolay olduğuna bizzat şahit olmuşsunuz demektir. Eğer kullanmadıysanız, 1. yazıda nasıl kurulup kullanılacağına dair bir-iki şey karalamıştım. Oraya bakabilirsiniz.

Bugünkü yazımızda ise, geçen yazıdaki yorumlara bulduğumuz bir takım çözüm yollarını ve gridview, datalist, repeater gibi anthem kontrollerini sayfaya ekleyip, nasıl düzenlenme bilgilerini yakalayabileceğimizi, normal asp.net kodları ile olan farklılıklarını (hatta normal asp.net ajax ile olan farklılıkları) işleyeceğiz.

Geçen yazıdaki sorunlar üzerine:

  • TextDuringCallBack özelliği olmayan kontroller veya tüm sayfa için "Yükleniyor..." yazısı : Bunun için özel amaçlarla kullanılan iki javascript fonksiyonunu kullanabilirsiniz. Anthem_PreCallBack ve Anthem_PostCallBack. isimlerinden de anlaşılacağı gibi, hangi anthem kontrolü callback işleminde bulunursa bulunsun, callback gerçekleşmeden hemen önce PreCallBack sonrasında ise PostCallBack fonksiyonları çağrılmakta.
  • Anthem i sayfaya ekledim, ancak bana hiç tepki vermiyor? Hata durumlarını yakalamak ,(runtime dediğimiz çalışma zamanı hatalarını) görebilmek için Anthem_Error javascript fonksiyonunu kullanıp arka planda bize döndürülmüş olan hata mesajını görüntüleyebiliriz.
<%@ Page Language="C#"%>
<%@ Register Assembly="Anthem" Namespace="Anthem" TagPrefix="anthem" %>
<script runat="server">
protected void buttonBol_Click(object sender, EventArgs e)
{

    labelSonuc.Text = (Convert.ToInt32(sayi1.Text)/Convert.ToInt32(sayi2.Text)).ToString();

       sayi1.Text = "";
       sayi2.Text = "";
}
</script>
<html>
<head>
<title>Çok basit bir anthem örneği</title>
<script type="text/javascript">
function Anthem_PreCallBack()
{
    document.getElementById('yukleniyor').innerHTML = "yükleniyor";
}
function Anthem_PostCallBack()
{
    document.getElementById('yukleniyor').innerHTML = "";
}
function Anthem_Error(result)//Anthem in kendi örneklerinden alıntıdır.
{
    alert("Anthem hatası:" + result.error);
}
</script>
</head>
<body>
<span id="yukleniyor"></span>
<form runat="server">
    <anthem:TextBox ID="sayi1" runat="server" AutoUpdateAfterCallBack="true"/>
    <anthem:Button ID="buttonBol" runat="server" Text="/" OnClick="buttonBol_Click"

TextDuringCallBack="Bekleyiniz..."/>
    <anthem:TextBox ID="sayi2" runat="server" AutoUpdateAfterCallBack="true"/>
    =
    <anthem:Label ID="labelSonuc" runat="server" AutoUpdateAfterCallBack="true"/>
</form>
</body>
</html>

 

Özellikle bölüm işleminde bölen sayıyı 0 (Sıfır) yaparsanız, server tarafından döndürülen hatanın alert içinde göründüğünü görebilirsiniz. Yükleniyor yazısı için ise şurada bir takım güzel resimler gördüm Murat Yavuz un sitesinde : http://www.muratyavuz.net/ajax-kullanicilari-icin-yukleniyor-gifleri/

Veri gösteren bileşenlerle yaşanan sorunlar:

  • Anthem Repeater, DataList veya GridView kullandınız. AutoUpdateAfterCallBack özelliğini true olarak kurdunuz. Ancak yaptığınız değişiklikler görüntülenmedi mi? O kontrolün DataBind() metodunu çağırmalısınız.
  • Eğer bu bileşenlerin içinde CheckBox veya TextBox gibi kontrolleri yerleştirip içine girilmiş bir veriyi almak istiyorsanız bunu DataBind() metodunu çağırmadan önce yapmalısınız. Page_Load olayında bir DataBind() çağrınız varsa şu şekilde kontrol etmelisiniz.
protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack && !Anthem.Manager.IsCallBack)
    {
       data_kontrolu.DataBind();
    }
}

 

 

Farklar ?

  • Mono ile birlikte kullanabileceğiniz en kolay ajax kütüphanesidir.
  • Tüm sayfayı CallBack işlemi sırasında yollar ve dönen yanıtın tamamını ayıklar, asp.net ajax içinde ise EnablePartialRendering özelliği var, bu bakımdan daha performanslı diyebiliriz.

 


anov 16.12.2007

co.mments  del.icio.us  digg  Furl  NewsVine  Reddit  Spurl  TailRank  Wists   



Rating : 10 üzerinden 10.00
 



Tümünü Göster / Sadece Başlıklar Yorumlar

yasin Soru
Bunların normal asp için olanları varmı ok etkileyici ama kullanamıyoruz işte :(
 
anov Önceki yazıdaki cevabım
yasin : 1 numaralı yazıda kısa bir açıklama yaptım konuyla ilgili, istersen oraya bakabilirsin.
Kolay gelsin.
 
UuuR Zaman sorunu
Anthem kullanılan sayfalarda, zamanla alakalı bi sıkıntı var, farkeden oldumu acaba hiç?
Örneğin Anthem.button kullandığım bir sayfayı bi süreliğine hiç dokunmadan açık bıraktım,bi süre sonra sayfadaki butona tıkladığımda hiçbir işlev yapmadığını farkettim. 2-3 kez denedim bunu, hepsinde de aynı sorunla karşılaştım. Bu bir bug mıdır? yoksa engellemek için herhangi bir çözüm varmı?
 
anov Mono ile birlikte kullanım konusu
Merhaba, 1.1 versiyonu ile (xsp 1.0) herhangi bir problem yaşamayabilirsiniz. Ancak asp.net ve xsp 2.0 ile sürekli aynı metodun halen mono üzerinde gerçeleştirilemediği hatasını almanız kuvvetle muhtemeldir.

Bunu kolayca anlamanız için MOMA (Mono Migration Analyzer) kullanabilirsiniz. Eğer bu yönlendirmeyi dikkate alıp zaman kaybeden olmuş ise özür dilerim.
 




yorum Yorum ekle
İsminiz:
Mailiniz:
Yorum Konu:
Soru: Şubat'tan sonraki ay?
Cevap :
Bütün alanları doldurmanız gerekmektedir.

 
XHTML 1.0 CSS 2.1
Ceviz Reklam