Geçen hafta perşembe günü Nedir?TV tarafından düzenlenen ASP.NET AJAX seminerindeydim. Semineri Nedirtv.com ‘un topluluk lideri ve kurucusu Uğur Umutluoğlu verdi.
Bir ara blogumda tüm seminer notlarımı yazmayı düşündüm ama Umut Bey blogunda zaten sunumu ve örnek kodları paylaştığı için link vermem yeterli olur diye düşünüyorum. (Böyle dediğime bakmayın yine bir sürü şey yazacağım )
Ama yine de seminerde değindiğimiz bir kaç öenmli noktaya değinmem gerekiyor. Örenğin: Microsoft ‘un ASP.NET AJAX kütüphanesi WPF ,Web Servisi gibi ve ASP.NET 2.0 ile sorunsuz çalışırken ASP.NET 1.1 ve 1.0 ile çalışamamaktadır.
Seminer sırasında standart AJAX kontrolleri olan ScriptManager, ScriptManagerProxy, Timer , UpdateProgress ve Update Panel bileşenleri üzerinde durduk.
ScriptManager ile ilgili olan ve sunumda yer almayan en önemli madde de MasterPage kullandığımız durumlarla ilgili. Eğer sayfanızı bir MasterPage ‘den türetiyorsanız sadece MasterPage ‘de ScriptManager olması yeterli çünkü her sayfada bir tane ScirptManager yeterli oluyor. Bu arada tüm kontrollerden üstte olasına dikkat edin ScriptManager ‘ın.
UpdatePanel ile ilgili olarak da UpdateMode özelliğini Always yaparsanız sayfadaki bütün tirggerlardan etkilenir. Eğer böyle bir durumla karşılamak istemiyor ve sadece sizin istediğiniz triggerler sonucu güncellenmesini istiyorsanız UpdateMode özelliğini Conditional yapın.
UpdatePanel ‘in bir diğer önemli özelliği ise ChildrenAsTrigger özelliğidir. Burada children ile içerisindeki kontroller kastedilmiştir. Yani bu özellik True iken içerideki herhangi bir kontrolün oluşturacağı postback ile UpdatePanel otomatik olarak güncellenir. Bu gibi durumların önüne geçmek için de bu özelliğini False yapmalısınız. UpdatePanel ‘in güncellenmesini kontrol altına almanın en güzel yanı Trigger özelliğine (Collection yapısındadır) AsyncPostBack Trigger eklemektir.
Bir diğer önemli kontrolümüz olan UpdateProgress ile de bir UpdatePanel güncellenirken kullanıcıya “yükleniyor…” , “bağlanıyor…” gibi görseller sunabilirsiniz. Burada AssociatedUpdatePanel özelliği ile hangi UpdatePanel güncellendiğinde görüntüleneceğini belirtmeniz gerekecektir. (Properties penceresinde muhtemelen bu özelliğe ait dropdownlist çalışmayacaktır o nedenle boş yere beklemeyin ve ilgili UpdatePanel ‘in ID’sini kendiniz yazın). Ayrıca DisplayAfter (ms) özelliği ile de ne kadarlık bir süre sonra gösterileceğini belirleme şansınız var. UpdateProgress ‘i ilgili UpdatePanel içerisine koyarak da otomatik olarak ilişkilendirilmesini sağlayabilirsiniz.
AJAX kontrollerinden Timer kontrolü ile de bir UpdatePanel ‘in belirleyeceğiniz süre (Interval değerini belirleyerek) otomatik olarak güncellenmesini sağlayabilirsiniz. Yukarıda belirttiğim gibi UpdatePanel ‘e trigger olarak eklemeniz yeterli olacaktır.
Sunumu da dikkatlice incelerseniz sanırım ASP.NET AJAX kontrollerini yavaş yavaş kullanmaya başlayabilirsiniz. Fakat bu noktada bazı problemlerle de karşılabilirsiniz.
Mesela sevgili hocam Sefer Algan ‘ın blogunda bahsi geçen ; sayfada farklı UpdatePaneller içerisinde farklı UpdateProgressler varsa ve UpdatePaneller dışarıdan trigger olarak eklediğiniz bir kontrol sonucu güncelleniyorsa o zaman UpdateProgress görüntülenmiyor. Sorunun çözümü ve detaylar için bu yazıyı okumanızda fayda var.
Bir diğer sorun da web projenizi çalıştıracağınız sunucu da AJAX EXTENSIONS kurulu değilse yaşanıyor. Bu konuyla ilgili olarak Uğur Bey blogundaki bu yazı ile okuyucularına yardımcı olmaya çalışmış. Siz de bu tarz bir sorunla karşılaşıyorsanız blogdaki tartışmaya katılabilirsiniz.
Ben de bitirme projemde AJAX ile bazı ASP.NET VALIDATION kontrolllerini kullanırken sorun yaşıyorum. Tam olarak sorunun nedenini bulamadım ama özellikle de validation ard arda çalışacaksa 2. seferde uyarı vermiyor. Zaten ASP.NET validation kontrollerinde bazı kafaya göre çalışma durumları olduğunu bildiğimden pek de takmıyorum ben bu durumu
Seminerle ilgili verebileceğim teknik detaylar bunlar . Sıra geldi başlıkta bahsi geçen BİRKAÇ ÖNEMLİ SÖZ ‘e. Seminere yaklaşık 40 kişilik kayıt alınmasına rağmen sadece 8 kişi katıldı. CETURK etkinliklerinde de bu tarz sorunlarla karşılaştığımız için katılımın az olabileceğini düşünmüştüm ama bu kadarını ben bile beklemiyordum. Açıkcası öğrenci arkadaşların duyarsızlığı insanı hayata küstürecek cinsten. Ajax-tr yayına başladığında çok ciddi bir ASP.NET AJAX isteği gelmişti okuyuclardan. Yada AJAXNEDIR mail grununda da çoğunluk PHP ile uğraştığı için ASP.NET ile ilgili sorular hep havada kalıyordu. Bu seminer bunun için çok iyi bir fırsattı fakat insanlar kıymetini bilemediler…
Hiçbir ücret talep edilmeden düzenlenen bu tip etkinliklere rağbetin az olmasının altında NASILSA PARA VERMEDİK düşüncesi yattığını biliyorum. İnsalar 3-4 saatlik eğitimlere 100-150 gibi rakamlar ödediklerinde iki elleri kanda olsa bile gidiyorlar ama bu tarz ücretsiz ve paylaşım amaçlı etkinlikler nedense az rağbet gösteriyorlar. Bu sözlerim çalışam kesimden ziyade öğrenci arkadaşlar için. Tüm öğrenci arkdaşlardan bu gibi etkinliklere daha fazla önem vermelerini rica ediyorumve aynı zamanda tavsiye ediyorum. Sadece bilgi anlamında değil çevre yapmak ve farklı kişilerle tanışmak anlamında da bu tarz etkinliklerin getirisi fazla oluyor.
Şimdilik benden bu kadar. Bir sonraki yazıya kadar sağlıcakla kalın…
Uğur UMUTLUOĞLU Blog
Sunum dosyası
Sunumda yapılan uygulamalar
Recent Comments