AJAX kullanan web geliştiricilerin karşılaştığı en büyük güçlüklerden bir tanesi kendi local ayarları ile geliştirdikleri uygulamaları başka bir sunuya yükledikleri zaman doğru çalışmamasıdır. ASP.NET AJAX geliştiricilerine bu yazımda bazı tavsiyeler vereceğim. Karşılaştığım güçlüklere arama motorları aracılığıyla ulaştığım birkaç bilgiyi paylaşmak istiyorum.
Bunlardan birincisi "unknown tag" hatası. Dosyalarınızı yüklediğiniz sunucunun varsayılan ayarları kendi bilgisayarınızda çalıştığınız gibi ayarlanmamış olabilir. Bunlardan bir taneside AJAX kontrollerinin tagları... Örneğin aşağıda gördüğünüz ajax kontrolünde tag olarak ajaxToolkit kullanılmış. Genellikle local de kullandığınız tag' lar ile yüklediğiniz sunucuya varsayılan olarak tanıtılmış tag' lar uyuşmaz. Bu gibi durumlarda kendiniz kullandığınız tag' ları aspx sayfalarınızın başında belirtmeniz gerekmektedir.
<ajaxToolkit:Accordion
ID="MyAccordion"
runat="Server"
SelectedIndex="0"
HeaderCssClass="accordionHeader"
HeaderSelectedCssClass="accordionHeaderSelected"
ContentCssClass="accordionContent"
AutoSize="None"
FadeTransitions="true"
TransitionDuration="250"
FramesPerSecond="40"
RequireOpenedPane="false"
SuppressHeaderPostbacks="true">
<Panes>
<ajaxToolkit:AccordionPane
HeaderCssClass="accordionHeader"
HeaderSelectedCssClass="accordionHeaderSelected"
ContentCssClass="accordionContent">
<Header> . . . </Header>
<Content> . . . </Content>
</ajaxToolkit:AccordionPane>
.
.
.
</Panes>
<HeaderTemplate>...</HeaderTemplate>
<ContentTemplate>...</ContentTemplate>
</ajaxToolkit:Accordion>
Örneğin bu kontrol için aspx sayfanızın başına aşağıdaki kod bloğunu eklemeniz gerekmekte:
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagPrefix="ajaxToolkit" %>
tagPrefix' in eşit olduğu cümleciğe istediğiniz tag adnını vererek AJAX kontrollerini kullanabilirsiniz.
İkinci paylaşmak istediğim bilgi updatepanel Türkçe karakter sorunu ile ilgili... UpdatePanel web sayfalarımızın post back yapmadan daha hızlı çalışmasını sağlayan bir kontroldür. Detaylı bilgi için ASP.NET AJAX updatepanel şeklinde google da aratırsanız istemediğiniz kadar bilgiye ulaşabilirsiniz. Lafı fazla uzatmadan konuya gireceğim. UpdatePanel kullanırken veri tabanına kayıt yapıyorsanız ya da veri tabanından veri çekiyorsanız Türkçe karakterlerde sorun yaşayacaksınızdır. Aklınıza hemen web.config dosyasına eklediğiniz <globalization tag'ı gelebilir fakat sizin için her zaman çalışan globalization tag'ı bu kez size sorun çıkarabilir. Size sorun çıkarmayacak <globalization tag'ını sizinle paylaşmak istiyorum:
<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="windows-1254" responseHeaderEncoding="windows-1254" />
Bu bloğu web.config dosyanıza ekledikten sonra updatepanel size Türkçe karakter sorunu çıkarmaktan vazgeçecektir.
İyi çalışmalar dilerim