ASP.NET AJAX Reorderlist Kontrolü

by Doğan ÇAKMAK 20. Mayıs 2010 08:07

 

Bu yazı reorderlist kontrolünü SQL Server veri tabanı ile kullanırken sorun yaşayan yazılım gelişticiler için:

Reorderlist kontrolünü sisteminize adapte ettikten sonra verilerin düzenlenmesine olanak sağlayan butonunuza tıklandığında doğru sıradaki verinin karşınıza çıkmadığını görürseniz telaşa kapılmayın. Çünkü çözümü gayet basit: veri tabanından veri çekerken kullandığınız SELECT komutunun sonunda  "ORDER BY [sıralama kolonu]" yapmış olmalısınız

Sıralamaların ve güncellemelerin doğru yapılması için sql komutunuzun "ORDER BY"bölümü aşağıdaki gibi olması gerekiyor:

"SELECT id, icerik, yazar, sira FROM [tablo adı] WHERE [parametreler] ORDER BY sira, id, yazar, icerik"

Yukarıdaki sql komutundaki ORDER BY bölümüne dikkat edersek verilerin sıralamalarının yapılırken sql server'a yorum hakkı vermememiz gerekiyor. Eğer düzenle butonuna tıkladığınızda hata ile karşıyorsanız yukarıdaki gibi ORDER BY kodlarsanız sorun ortadan kalkacaktır.

Umarım faydası olur

ASP.NET AJAX Türkçe Karakter Çözümü ve Bilinmeyen Tag Çözümü

by Doğan ÇAKMAK 20. Mayıs 2009 16:43

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

 

 

 

Captcha ile güvenliğinizi güçlendirin!

by Doğan ÇAKMAK 7. Mart 2009 08:14

Captcha nedir? Soldaki resimde de görmüş olduğunuz gibi insanların okuyarak anlayacağı karakterlerin oluşturdu resimdir diye kabaca tanımlayabiliriz. Aslında Captcha "Carnegie Mellon School of Computer Science" tarafından başlatılmış bir proje fakat ben işin web kısmı ile ilgilenerek uygulamarından bir tanesini göstereceğim.

Captcha ne gibi faydalar sağlar? Geliştirmiş olduğunuz web uygulamalarında kullanıcıların girdi yaptığı bölümleri kontrol altına almazsanız sitesiniz ve veritabanız bazı saldırılara mağruz kalabilir. Örneğin bir forum sitesini ele alalım. Forumda yazılmış bir yazıya cevap yazmak istiyorsunuz. Biraz araştırmayla eğer kontrolü yapılmıyorsa o yazıya kod ile milyonlarca girdi yapabilirsiniz. Fakat captcha kullanırsanız kod captcha resmindeki karakterleride tanımaya zorlayacaksınız.

Captcha karakterleri kodla çözülemez mi? Çözülebilir! O zaman niye kullanıyoruz diyeceksiniz. Ben de size şöyle cevap vereyim: En güvenli bilgisayar, sahip olmadığınız bilgisayardır! Yani güvenli bilgisayar ya da sistem diye birşey yoktur. Az güvenli ve çok güvenli sistemler vardır.

ASP.NET yazılım geliştiricileri için bir captcha kontrol önermek istiyorum. clearscreen.com tarafından geliştirilen bir captcha kontrolü. Web uygulamalarınızda sürükle bırak yaparak kullanabileceğiniz bir kontrol. Kontrol ddl'sini bu bağlantıdan indirebilirsiniz.  Kontrol kullanımında zorluk yaşarsanız bu iletiye yorum bırakabilirsiniz. Böylece sorun yaşayan başka insanlara da aynı anda cevap vermiş olurum. 

İyi çalışmalar dilerim ;)

 

ASP.NET ile dosya yüklemek (upload)

by Doğan ÇAKMAK 28. Şubat 2009 17:24

ASP.NET ile uğraşanlar bilirler ki dosya yüklemek web tarayıcıları tarafından geliştiricilerin önü tıkayan unsurlardan bir tanesidir. Normal de varsayılan olarak 4MB dosya yükleme hakkınız vardır. Web.config dosyası üzerinde bir kaç değişiklik yaparak bunu biraz olsa arttırmak mümkündür.Web.config dosyası içerisindeki httpRuntime bölümü içerisindeki "maxRequestLength" sunucunuza ne kadar dosya yükleyebileceğinizi belirleyen unsurdur. Bunu 11000KB' a kadar yükseltebilirsiniz. Normalde bunun sınırı 11264 KB dır fakat 11000 KB yapmanızı tavsiye ederim. Bu değeri 1024' e bölünce de kaç MB dosya aktarımı yapabileceğimizi öğrenebiliriz: yaklaşık 10.8 MB. 

<httpRuntime 
executionTimeout="110" 
maxRequestLength="4096" 
requestLengthDiskThreshold="80" 
useFullyQualifiedRedirectUrl="false" 
minFreeThreads="8" 
minLocalRequestFreeThreads="4" 
appRequestQueueLimit="5000" 
enableKernelOutputCache="true" 
enableVersionHeader="true" 
requireRootedSaveAsPath="true" 
enable="true" 
shutdownTimeout="90" 
delayNotificationTimeout="5" 
waitChangeNotification="0" 
maxWaitChangeNotification="0" 
enableHeaderChecking="true" 
sendCacheControlHeader="true" 
apartmentThreading="false" />
Peki bunu anladık. Ben 10 MB' dan da büyük dosya aktarımı yapmak istiyorum ne önerirsin derseniz. İki seçeneğiniz var: ya kendiniz oturup bir ASP.NET kontrolü yazacaksınız ya da hazır bir ASP.NET kontorlü kullanacaksınız. Kendi kontrolünüzü yazabilecek seviyedeyseniz. Şu an yazımı ukumayı bırakabilirsiniz çünkü bir hazır kontrol önereceğim: AJAX Uploader.

AJAX Uploader ne işe yarar? AJAX Uploader kullanması kolay ve yüksek performanslı bir ASP.NET dosya yükleme kontrolüdür. AJAX framawork'ü destekler ve ajaxupdate panel içerisinde çalışır. Birden fazla dosyayı aynı anda yüklemenize imkan verir. Başka dosyalarınız yüklenirken yeni dosyalarıda yüklemenize olanak sağlar. Benim en sevdiğim özelliği ise 2 GB' a kadar dosya aktarımı yapabilmek. Yanlış duymadınız 2 GB!

AJAX Uploader demo sayfası için tıklayın

AJAX Uploader demo dosyalarını indirmek için tıklayın
br> Geliştirdiğim bir projede bana kolaylık sağlayan bu kontolü sizlerle paylaşmak ve bu konu hakkında zorluk yaşayanların faydalanacağı bir yazı yazmak istedim. Umarım faydalı olmuştur.

Konu hakkındaki benim gözümden kaçan ya da eklemek istedikleriniz varsa yorum yazmakta çekinmeyin. Sorunsuz çalışmalar dilerim :)


powered by discountasp.net

Ne yapıyorum?

Microsoft yazılım araçlarını kullarak eğitim sektörüne yönelik web tabanlı uygulamalar geliştiriyorum.

Örnekleri az olan konsept projelerin geliştirilmesinde aktif görev alıyorum.

Proje Yönetimi, Yazılım Yönetimi ve Web Güvenliği üzerine çalışıyorum.

Calendar

<<  Eylül 2010  >>
PaSaÇaPeCuCuPa
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Anahtar Kelimeler