Geçtiğimiz günlerde yaptığımız bir proje için basit ama yetenekli bir HTML editor ihtiyacımız oldu. Bundan önce bir çok seçenek denemiş ve değerlendirmiştik. Genellikle basit olanların özellikleri yetersiz, yetenekli olanalrda çok ağır ve hantal çalışmaktaydı. Ancak projenin doğası gereği ihtiyacımız hem implementasyonu hem de kendisi hafif, aynı zamanda da "dosya yükleme" gibi (nispeten) ağır işlemleri yapabilen bir bileşene ihtiyacım oldu.

İnternette yaptığım aramada, NicEdit'in (http://nicedit.com) güzel bir seçenek olduğunu gördüm. Özellikle, jQuery tarzı, sadece ihtiyacınıza göre özelleşebilen, daha küçük boyutlu js dosyaları alabildiğiniz yapısı, hem altyapının gücünün hem de başarılı bir bileşenin habercisiydi.

Gerçekten de bileşeni uyguladığımda, hem hafif hem de başarılı olduğu konusundaki fikrimde yanılmadığım ortaya çıktı. Tek sorun, dosya yükleme konusundaydı. Aslında içindeki dosya yükleme rutininde herhangi bir sorun bulunmuyor. Varsayılan ayarlarla kurulum yaptığınızda, resimleri ImageShack üzerinde host ederek, güzel bir yükleme arabirimiyle işini doğru şekilde yapıyor. Ancak uygulamamın tarzı sebebi, resimlerin ImageShack üzerinde değil, kendi sunucumuzda tutulması gerekiyordu. NicEdit, parametrik olarak yükleme işlemlerini farklı bir adrese yönlendirme opsiyonu sağlıyor. Bunun için de örnek olarak bu özelliği karşılayacak bir sayfa sunulmuş. Ancak örnek sayfa PHP ile kodlanmıştı. Benim tabi ki C# koda ihtiyacım vardı. PHP'den hiç anlamadığım için, kodu okuyarak çözmek yerine, gelen giden istekleri takip edip Firebug yardımıyla çalışma mantığını çözmeye karar verdim. Sonuç olarak NicEdit ile uyumlu çalışan, C# tabanında bir dosya yükleme karşılama sayfası yapmayı başardım.

Doğrusunu söylemek gerekirse bütün özellikleri desteklemedim. Örneğin yükleme yüzdesinin ne kadar olduğunu gösteren özelliği implemente etmedim. Aslında mümkündü ancak ihtiyacım olmadığı için yapmadım. "Dosya yükleniyor" ibaresi benim için yeterliydi. Gönderilen cevaptaki bütün parametreleri de incelemedim. Sadece kendime yarayacak kısımları düzelttim, geri kalanları sabit olarak gönderdim.

Eğer siz de bir ASP.NET projesinde dosya yükleme özelliği ile NicEdit kullanmak istiyorsanız, yaptığım basit geliştirmeyi SVN üzerinden svn checkout http://nicedit-csharp-fileupload.googlecode.com/svn/trunk/ nicedit-csharp-fileupload-read-only komutuyla checkout edebilirsiniz. Web üzerinden de http://code.google.com/p/nicedit-csharp-fileupload adresinden projede gezinebilirsiniz. Yükleme işlemi tek bir aspx dosyasında yapılıyor. General.cs dosyası içerisindekiler ise, yükleme işlemlerinin listesinin tutulduğu bir class. Ayrıca fark edeceğiniz gibi bazı parametreler web.config'den alınıyor. Onları da konfigüre ettiğinizde kullanıma geçmeniz 2-3 dakikanızı alacaktır.

Umarım işinize yarar...

1 Response to "NicEdit ve C#"

  1. gravatar Unknown Says:

    Teşekkürler, bende sizin tersinize işin php tarafını kodladığımdan bu tarz bir aracı c# ile implement etmek bana dağları aşmak olacaktı, siz dağları aştığınız için bana kendi uygulamama uyarlamak kaldı, tekrar teşekkürler.

Copyright Ali INAL ©2009 - Creative Commons Licence
preload preload preload

Taşındık!


Ali's Surprisingly Web blog'u, artık yeni, güçlü ve daha esnek altyapısıyla yeni adresinden yayın yapıyor. Yeni adresimiz: http://surprisingly.web.tr. Bu eski blog sayfalarındaki bütün içerik, yeni blog altyapısına da taşındı. Arzu ederseniz sizi yeni blog'umda ağırlamak isterim.
Yeni blog'a gitmek istiyorum Bu sayfayı okumak istiyorum

We've Moved!


Ali's Surprisingly Web Blog is now serving from a new, stronger and flexible system with a brand new address. Our new address: http://surprisingly.web.tr. Also we've migrated all old content from this blog to our new blog. If you wish, I want to welcome yo to my new blog.
I want to visit new blog I want to stay and read this page