Selamlar, bir süredir anthem kullanan biri olarak, ms topluluklarında anthem ile ilgili yazılara ajax control toolkit için yazılanlara oranla oldukça az rastladığımdan, bu yazıyı yazmaya karar verdim.5 Aralık 2007 Eklemesi : Anthem in ve genel olarak ajax ın ne işe yaradığı ile ilgili bir giriş yapmadığım için sonradan ekliyorum.
Anthem, asp.net içinde kullanılabilen ajax destekli bir bileşen kütüphanesidir. Zaten yazılmış olan bir asp.net kodunu çok az değişiklikle ajax destekli hale getirmenizi sağlar. Aslında arka planda (kullandığı xmlhttprequest nesnesi ile) tam bir sayfa isteğinde bulunur, ancak sadece belirttiğiniz kontrollerde meydana gelen değişiklikleri sayfanıza yansıtır.
Şimdi isterseniz, anthem ile daha önce hiç tanışmamış asp.net e yeni merak salmış veya asp.net bilip de anthem i daha önce kullanmamış kişilerden birinin yerine kendimizi koyalım ve adım adım ona rehberlik edelim. Ne yapması gerekir bu şahsın ki sayfalar yenilenmeden işlemlerini tamamlayabilsin.
http://www.anthemdotnet.com
Adresinden takip ederek şu indirme bağlantısını buluyoruz :
http://sourceforge.net/project/showfiles.php?group_id=151897
Anthem size bir proje dosyası (sln) ve c sharp projesi olarak gelecektir (csproj). Eğer Visual Studio kullanıyorsanız zaten derlemekte bir problem yaşamayacaksınız. Ama eğer Visual Studio nuz yoksa bu kodları derlemek için çeşitli seçenekleriniz mevcuttur. Visual c# 2005 veya 2008 express ile derleyebilirsiniz, veya zaten sizde .net framework 2.0 sdk kurulu ise komut satırından msbuild aracını kullanabilirsiniz. Ek bir kurulum gerektirmediği için ben msbuild ile derlemeyi tercih ettim.
Haydi derleyelim :-)
msbuild aracının kullanılışı:
"Build succeeded" yazısını gördükten sonra hemen kütüphaneyi indirdiğim klasöre gidip bakıyorum. Şu an için release modunda değil, debug modunda derledim, görsel araçları kullanan arkadaşlarım, kolayca anthem içine girip bu inşa işlemi sonunda oluşan dll in içinde hata ayıklayabilirler.
Bir asp.net projesinin (veya sanal dizinin – virtual directory-) /bin klasörüne bu .dll i eklemeniz gerekiyor. Bin klasörüne kopyaladıktan hemen sonra, bu dll kullanıma hazır olacaktır.
Çoğu (ne yazık ki "hepsi" diyemiyorum) asp.net kontrolünün anthem eşdeğerleri vardır. Var olan bir asp.net sayfasını anthem ile ajax-destekli hale getirmek için yapacağınız değişiklikler çok azdır.
<%@ Register Assembly="Anthem" Namespace="Anthem" TagPrefix="anthem" %>(Burada TagPrefix istediğimiz gibi değiştirilebilir, ancak anlamayı kolaylaştırmak namına ben de aynı bırakıyorum.) Bu satırı aspx sayfanızın başına eklemelisiniz.
İşte iki sayıyı toplayan ve sonucu yazan basit bir örnek:
<%@ Page Language="C#"%>
<%@ Register Assembly="Anthem" Namespace="Anthem" TagPrefix="anthem" %>
<script runat="server">
protected void buttonTopla_Click(object sender, EventArgs e)
{
try
{
labelSonuc.Text = (Convert.ToInt32(sayi1.Text)+Convert.ToInt32(sayi2.Text)).ToString();
}
catch
{
labelSonuc.Text = "Hey adamım senin problemin ne?";
}
finally
{
sayi1.Text = "";
sayi2.Text = "";
}
}
</script>
<html>
<head>
<title>Çok basit bir anthem örneği</title>
</head>
<body>
<form runat="server">
<anthem:TextBox ID="sayi1" runat="server" AutoUpdateAfterCallBack="true"/>
<anthem:Button ID="buttonTopla" runat="server" Text="+" OnClick="buttonTopla_Click"
TextDuringCallBack="Bekleyiniz…"/>
<anthem:TextBox ID="sayi2" runat="server" AutoUpdateAfterCallBack="true"/>
=
<anthem:Label ID="labelSonuc" runat="server" AutoUpdateAfterCallBack="true"/>
</form>
</body>
</html>
Ve işte sonuç :![]()
"Bekleyiniz…" yazısını sonuç çok hızlı geldiği için göremeyebilirsiniz.
Anthem ile iş yaparken dikkatimi çeken sıkça yaptığım hatalar şunlar idi:
Eğer bir anthem:GridView inden herhangi bir textbox yakalıyorsak veya datalist içindeki kontrollere FindControl ile müdahale ediyorsak, bu kontrolleri Anthem.TextBox, Anthem.CheckBox gibi anthem eşdeğerlerine dönüştürmeliyiz. Zaten karşınıza çıkan hata mesajı yeterince yönlendirici olacaktır, ama bu hatayla uğraşmıştım bir süre. İkincisi, eğer normal bir olay çağrısının (event handler) CallBack sonucu gerçekleşip gerçekleşmediğini tespit etmek için Anthem.Manager.IsCallBack kullanabilirsiniz.
Bu yazının birinci kısmını burada bitiriyorum. İsterseniz, indirdiğimiz anthem dosyalarıyla beraber gelen Anthem-Examples-2005 klasörünü sanal dizin haline getirip örnekleri inceleyerek bu yazıdan öğrendiğinizden çok daha fazlasını öğrenmeniz mümkündür. Zaten kaynak olarak sıklıkla oraya başvurdum, ilk başladığımda.
asp net örnek, asp net Örnekler, sena yazıları, ajax bileşenlerini kullanma asp net, c sharp sln dosyası problemli
Benzer Konular:
anov makale çok açıklayıcı olmuş teşekkürler, “kafama takılan birşey var “Bekleyiniz…” tek bir label üzerinde yazabiliyormuyuz.
S.a , Asp.net Fazla bilmediğim ıçin Döküman Hakkında Yorum Yapamayacagım Ama Sonunda Karsılastıgın Hataları Vermen Gerçektende Güzel Olmus Bende Cok karsılasıyorum Hataları Dökümanlarda ama senin Yaptıgın Gibi Karsılasılabilecek Hataları Vereni Gormedim …
Döküman ıçin Çok Teşekkürler…
anthemin özelliği olaraktan, buton a tıklanıldığı anda işlem süresince,o butonun textini “bekleyiniz..” olarak değiştirebiliyor kendisi. Buttona sağ tıklayıp properties e gittiğinde, göreceksin “Bekleyiniz” yazısını gireceğin özelliği ztn..
emre : Sonuç label ının TextDuringCallBack=”Bekleyiniz…” yazarsan CallBack gerçekleştiği esnada o label yerinde o yazının çıkması lazım. Ayrıca kendi örneklerinden de görebilirdiğiniz gibi, o özelliğe
Kolay gelsin.
anov: anladığım kadarı ile labelde TextDuringCallBack yapamiyoruz. sitede de şansıma bazı örnekler açılmıyor bekleyip incelemeye devam edim. iyi çalışmalar.
emre : Evet doğru şimdi wvd ile bir örnek açıp denedim, sanırım başka kontroller ile karıştırdım bir an label i. Ama istersen (biraz dolambaçlı bir yol olsa da) Anthem_PreCallBack ile bekleyiniz… yazısını istediğin bir yere kurup Anthem_PostCallBack ile (veya eğer güncelleştirdiğin kontrol o ise anthem zaten onun değerini kuracaktır) bu işi yapabilirsin.
Bir önceki mesajımı okudum da tam anlatamamış olabilirim. Evet emre textduringcallback özelliği label da yok. Yanlış bilgilendirme için özür dilerim.
Anthem in tam olarak ne işe yaradığını anlamadım
Omer, yazının başına küçük bir açıklama paragrafı ekledim. Anthem bir bileşen kütüphanesidir, onun içerdiği bileşenler sayfa yenilenmeden değişebilme yeteneğindedir. Kolay gelsin.
Konu cok acıklayıcı olmus teşekkürler..Asp kullacınıcısı olarak asp.nete geçiş önerirmisiniz bu hizmetler etkileyici…
Evet öneririm.
* ınternet amacıyla kullanılan bileşenlerin kurulumu kolaydır.
* Ajax kütüphanelerinin kullanımı kolaydır.
Örneğin burada kullandığım kütüphaneyi bir dll olarak projeye eklemem için /bin klasörüne kopyalamam yetti, asp.net 2.0 çalıştırabilen her yerde (bileşenin yazarı ubuntu linux altında da bunları test ettiğini söylüyor, ben henüz test etmedim) bu dll i kopyalayıp çalıştırabilirsiniz.
nesne yönelimli programlama ve yazdığınız şeyleri bileşen haline getirme sizde bir alışkanlık halini aldığı zaman, aynı görevleri tekrar tekrar yapmaktansa bileşen satın almak veya var olan bileşenleri bir araya getirmek yolunu seçeceksiniz. url rewriting için bileşen ajax için bileşen, sonuç grafiği göstermek için ayrı bir bileşen. Eğer seçtiğiniz bileşenler açık kaynak kodlu ise, müdahale şansınız da olacaktır.
size perfet veriyom
Merhaba Anov Bey,
Bu bilgilendirici, aydınlatıcı yazınız sayesinde anthem kullanmaya başladım. Konuyla ilgili size çok teşekkür ederim.
Saygılar..