ASP.NET / Web Kontrollerini İstemci Tarafından Kontrol Etmek
Yazar: Bahadır ARSLAN
ASP.Netin hayatımıza soktuğu sunucu kontrollerini, istemci tarafından kontrol etmek isterseniz bu yazımız işinize yarayacaktır.
Ancak programcılık öyle birşeyki eldeki sistem ne kadar özellik sahibi olursa olsun tüm ihtiyaçlara cevap veremez ve biz alternatif yollar aramak zorunda kalırız. Bugünkü yazımızda böyle bir durum ile ilgili. Web kontrollerinin istemci tarafından kontrol edilmesi.
Böyle bir şeye ne gerek var, zaten web kontolleri sunucu tarafından kontrol edilebiliyor; birde istemci tarafından kontrol etmeye niye ihtiyaç duyalım diye düşünebilirsiniz. Haklısınızda, örneğin bir düğmeye tıklandığında bazı alanlarınızın aktif hale gelmesini istiyorsanız düğmenin tıklanma olayına (onClick) diğer kontrolleri aktif etmek için kod yazabilir ve düğmenin AutoPostBack özelliğini True yaparsınız. Böylece siz düğmeye bastığınızda sayfa bir defa sunucuya gider (post edilir) ve geri gelir. Geri geldiği zaman verileriniz kaybolmadığı gibi, istediğiniz değişiklikler gerçekleşmiştir. Programcı açısından bu güzel durumun bazı eksileri vardır; sayfa bir defa post edilmektedir. Bu durum yavaş internet bağlantısına sahip bir ziyaretçi için bir eziyete dönüşebilir.
Bu yazımızda aşağıdaki gibi bir sayfa kullanacağım.Yapmak istediğim şey ise Aktif Et yazan seçme kutusunun (checkbox) seçilmesi durumda alanların aktif olması, seçimin kaldırılması durumunda ise pasif olması.
Sayfada gördüğünüz gibi 1 adet ve 2 adet kontrolü bulunuyor. Bu kontrollerin isimleri ise:
TextBox > txtKad
1.CheckBox > cbKaydet
2.CheckBox > cbAktif
Biz aktifleştirme olayını cbAktif kontrolünün tıklanması ile olmasını istediğimiz için bu kontrolün koduna onClick="Aktliflik();" bölümünü ekliyoruz. Böylece cbAktif kontrolünün kodu aşağıdaki gibi oluyor.
Ayrıca txtKad kontrolümüz ile cbKaydet kontrollerine Enabled="False" kodunu ekliyoruz.Böylece onlarda üzerinde işlem yapılamaz hale geliyorlar. Son durumda kodları aşağıdaki gibi olmalı.
Şu an tüm sayfanın kodu aşağıdaki gibi olmalı.
Şimdi kodumuz da biraz değişiklik yapalım. Önce cbKaydet kontrolü içine koyalım ve Enabled özelliğini ayarlayalım.Aşağıdaki kod yeni cbKaydet kodumuz.
Böylece değişiklikler bitti, şu an tüm sayfamızın kodu aşağıdaki gibi olmalı.
Yaptığımız son değişikliklerle yukarıdaki hale gelen kodumuzu wc_client_2.aspx adı ile kaydedip çalıştırırsanız, sorunsuz çalıştığını göreceksiniz. Hayırlı kullanımlar ve hayırlı günler dileriz...