Programlama
     Sistem
     Web & Grafik
     Genel Konular
     Yarışma

Ceviz.Net RSS/XML




  Yazarlar 
$babacan
ab
abdagli
acehreli
Akın Öcal
anov
ApexLoader
apranaxfort
ArkHe
arthon
ASA
Asosyal
Barcoder
bronze
bunalthe
burhanmt
C-Nem
CaddeClub
Caesar
callaki
cappytoi
captainzap
Cekici
cemaliozan
civciv
civil
Codder
cubbuk
darky_dark
deathisonitsway
diablo
dkoksal
dreammaker
Dreamy
Emre
esmaeild
Euclides
fatihhood
Felix
fgenc
fixman
Fobus
fuzbing
gorgpix
Guardian
HaokaH
hiko
hmustak
hsyn
HunTER
Huzeyfe
IcenGuard
john doe
jtaz
KamilORS
KaravanaBatu
karflake
kelalaka
kGlz
Magic2Melody
McTeo
Memik Yanık
memphiswoo
merush
Meteryus
Midgard
mkarabulut
Mr_MOON
muharrem_tac
myavruturk
myavuzselim
not:found
oCRaCy
Okan
omerosmanoglu
pan
PaNTHeRa_
ParK
perlci
pirilti
portalturks
Predator
prf_q
Psychaos
Pwm
Raiden
RaiST
Rapsodi
realist
realmusti
redial
renegade1905
Revlis
roksan
Sahin
Sam Orpheus
sametweb
Scorpion
SEYRANLI
SGurel
sineld
sinoo
smasherz
Sniper
some_plus
SrcnCkr
tankado
teddmcload
TreeDY
turansoylu
Turok
UmutZafer
uszr
UuuR
vampire
Volkan Uzun
xXx
X_
yaso_19
yesilvadi
yildizib
Zerzevat Adam
Övünç Mete
 

Programlama

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

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 kütüphanesinin amacı nedir? Neden onu kullanma gereği duyabiliriz?

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.

1-) Anthem i bulalım:


http://www.anthemdotnet.com
Adresinden takip ederek şu indirme bağlantısını buluyoruz :
http://sourceforge.net/project/showfiles.php?group_id=151897

2-) Anthem i kuralım:


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.

3-) Basit bir örnek ile mantığını kavrayalım:


Ç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.
    1. <%@ 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.

    2. asp:TextBox yerine anthem:TextBox gibi kontroller kullanacaksınız.
    3. Eğer o kontrolün yapılan ajax çağrısından sonra güncellenmesini istiyorsanız, AutoUpdateAfterCallBack="true" ile veya sayfa yüklenirken kod ile güncelleşmesini sağlayabilirsiniz.
    İş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.

    4-) Dikkat edilmesi gereken hususlar:

    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.


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



Rating : 10 üzerinden 7.70
 



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

M.Metin Asp.net
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...

 

emre güzel
anov makale çok açıklayıcı olmuş teşekkürler, "kafama takılan birşey var "Bekleyiniz..." tek bir label üzerinde yazabiliyormuyuz.

 

UuuR "Bekleyiniz"
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..

 

anov TextDuringCallBack
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 <img src="loading.gif" gibi değerler verilerek yüklenme esnasında herhangi bir gif resmin görüntülenmesi sağlanabiliyor.
Kolay gelsin.

 

emre Re:TextDuringCallBack
anov: anladığım kadarı ile labelde TextDuringCallBack yapamiyoruz. sitede de şansıma bazı örnekler açılmıyor bekleyip incelemeye devam edim. iyi çalışmalar.

 

anov Re:Re:TextDuringCallBack
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.

 

anov özür
Bir önceki mesajımı okudum da tam anlatamamış olabilirim. Evet emre textduringcallback özelliği label da yok. Yanlış bilgilendirme için özür dilerim.

 

Omer Açıklama
Anthem in tam olarak ne işe yaradığını anlamadım

 

anov Yazının başına küçük bir açıklama paragrafı eklendi.
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.

 

yasin güzel
Konu cok acıklayıcı olmus teşekkürler..Asp kullacınıcısı olarak asp.nete geçiş önerirmisiniz bu hizmetler etkileyici...

 

anov asp.net e geçiş konusu
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.

 

ahmet iyi
size perfet veriyom

 





» Yorum ekle
 
İsminiz:
Mailiniz:
Yorum Konu:
Güvenlik Kodu: güvenlik kodu
Bütün alanları doldurmanız gerekmektedir.


 
Forumda Aktif Olan Son 15 Konu

Designed by Gurdesign
www.gurdesign.com


1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324  325  326  327  328  329  330  331  332  333  334  335  336  337  338  339  340  341  342  343  344  345  346  347  348  349  350  351  352  353  354  355  356  357  358  359  360  361  362  363  364  365  366  367  368  369  370  371  372  373  374  375  376  377  378  379  380  381  382  383  384  385  386  387  388  389  390  391  392  393  394  395  396  397  398  399  400  401  402  403  404  405  406  407  408  409  410  411  412  413  414  415  416  417  418  419  420  421  422  423  424  425  426  427  428  429  430  431  432  433  434  435  436  437  438  439  440  441  442  443  444  445  446  447  448  449  450  451  452  453  454  455  456  457  458  459  460  461  462  463  464  465  466  467  468  469  470  471  472  473  474  475  476  477  478  479  480  481  482  483  484  485  486  487  488  489  490  491  492  493  494  495  496  497  498  499  500  501  502  503  504  505  506  507  508  509  510  511  512  513  514  515  516  517  518  519  520  521  522  523  524  525  526  527  528  529  530  531  532  533  534  535  536  537  538  539  540  541  542  543  544  545  546  547  548  549  550  551  552  553  554  555  556  557  558  559  560  561  562  563  564  565  566  567  568  569  570  571