Bu Blogda Ara

21.02.2009

asp.net'te form,panel DefaultButton özelliği

farzedelim bir sayfada üye giriş kısmı (kullanıcı adı,şifre için textbox ve giriş için buton) ve üye kayıt kısmı (bilgiler için textboxlar ve kaydet için buton). bu durumda sayfada 2 tane buton olmuş oluyor. kullanıcı temayüllerine(eğilimlerine) bakacak olursak çoğu kişi giriş yada kaydet butonuna fare ile basmak yerine texboxları doldurup enter tuşuna basıyor. böyle bir durumda enter ile hangi buton aktif olarak çalışacak karmaşası karşımıza çıkıyor.

bunun için şöyle bir çözüm varmış asp,php gibi dillerde. Her ayrı kısmı(üye giriş ve kayıt) ayrı ayrı form tagları içene alıyor ve er formun DefaultButton özelliğine ilgili butonu veriyormuşsun. ama aspn.nette artık masterPage ile sayfalarda tek form olmaya başladı. demek onun yerine başka bişey olmalı diye düşününce Paneller imdada yetişiyor. şöyleki artık herbir bölümü bir panel içine alıyorsun ve panellerin default buton özelliğini ilgili buton yapıyorsun. böylece kullanıcı giriş bölümü paneli içindeki textboxlara veri giyor ve entera basıyorsa giriş butonu, kayıt paneli içindeki textboxlara veri giriyor ve entera basıyorsa kaydet butonu çalışıyor. sorunda çözülmüş oluyor :D

not: sorun ve çözümü için teşekkür ederim Kâzım :). Öğrencilerimden öğrenmeyi herzaman sevmişimdir...

örnek uygulama: (Kâzım derki)

Resimdeki gibi 3 textbox ve 3 buton var. imleç hangi texboxta ise entera bastığımızda onun altındaki butonun eventi çalışsın istiyorum.

çözüm: her grubu bir panel içine alıp panelin default buton özelligine panelin içindeki butonun ID'sini yazmamiz gerekiyormus.Sunun gibi yani :

Hiç yorum yok: