WEB FORMLARI Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu
WEB FORMLARI Web uygulamalarının etkileşimli olabilmesi için, diğer bir ifade ile uygulamanın kullanıcı isteğine cevap verebilmesi için gerekli olan tüm kullanıcı bilgileri web formlar aracılığıyla alınır. Bir ASP.NET sayfası kullanıcıların gördüğü form ve formun çalışma mantığını oluşturan program kodlarından oluşur. Bu yönüyle ASP.NET sayfasına genel olarak web form denilebilir
WEB FORMLARI Web formlarını kullanmaktaki amaç, web sayfasında kullanıcıya gözüken elemanları sunucunun kontrolüne almak böylece web uygulama geliştiricisinin uygulama üzerindeki hakimiyetini artırmaktır. Formlar ziyaretçiden bilgi alınmasını sağlayan araçlardır.
HTML FORMLARI HTML formlar, HTML tag leri ile, tamamıyla istemcinin bilgisayarı vasıtasıyla oluşturulurlar. Diğer bir ifade ile sunucu sayfayı istemciye gönderir, gönderilen sayfada eğer form elemanlarını belirten tag lar var ise, bu tag lar browser tarafından yorumlanır ve ilgili form elemanları sayfada gösterilir. Bu işleyişte sunucunun HTML kodlarını istemciye göndermek dışında bir işlevi yoktur.
HTML FORMLARI Bu örnekte "post" metodu ile forma girilen veriler sunucuya iletilir. Sunucunun aldığı ve kontrol ettiği veriler yalnızca kullanıcının formlar vasıtasıyla aldığı verilerdir. Form elemanlarının sayfada görüntülenmesi ve kullanıcıya bir arabirim oluşturması tamamıyla browser tarafından gerçekleştirilir.
HTML FORMLARI
HTML FORMLARI Ancak bu işleyiş web geliştiricileri için sınırlı bir kontrol imkanı tanımaktadır. Sunucu, form elemanlarının neler olduğundan, sayfada nasıl gözüktüğünden veya sunucuya gönderilmeden önce ne tarz bir veri girdisi olması gerektiğinden habersizdir.
WEB FORMLARI Web formları ise tamamen sunucu tarafından oluşturulup HTML e çevrilerek tarayıcıya gönderilir. Sunucuya ait birimler olduklarından, sayfada görünen elemanların kontrolü tamamıyla sunucuya dolayısıyla programcıya aittir.
WEB FORMLARI Web form elemanlarındaki bir olay sonucu çalıştırılacak alt program Sayfada gözükecek elemanları
WEB FORMLARI ASP.NET sayfamıza bir istek geldiğinde, sayfa içinde ASP.NET e ait özel tag lar ile yazılmış web form elemanları, HTML form elemanlarına veya HTML tag larına çevrilerek istemciye gönderilir. Aynı zamanda kullanıcıdaki değişimleri takip eden bir takım mekanizmaları da oluşturup istemciye gönderir.
WEB FORMLARI
WEB FORMLARI Web form elemanları aşağıdaki şekilde oluşturulurlar: Ayrıca kontrol bir olay ile ilişkilendirilmişse bu olay ve olayın gerçekleştiğinde çalışacak alt program da buraya eklenir.
SUNUCU KONTROLLERİ ASP.NET de pek çok kategoriye ayrılmış onlarca sunucu kontrolü bulunmaktadır. Her sunucu kontrolü illaki bir web form elemanı demek değildir. Klasik formlarda bulunmayan fakat ASP.NET ile gelen sunucu kontrolleri bulunmaktadır. Bunların <form runat=server></form> tag leri arasında tanımlanma zorunluluğu yoktur. Bütün sunucu kontrolleri özelliklere (properties), olaylara(events) ve metotlara (methods) sahiptir.
SUNUCU KONTROLLERİ
OLAYLAR (EVENTS) Web sitesinin kullanıcıları sunucu kontrolleri üzerinde bir işlem yaptığında olay meydana gelir. Örneğin, kullanıcı butona tıkladığında click olayı meydana gelir. Olay ifadeleri "on" ifadesi ile başlar Olay gerçekleştiğinde işletilmesi gereken yordamın referansı verilir. Onclick= gonder şeklinde İstemci bilgisayarda yapılan bir işlem sonucu gerçekleşen olaya bağlı yordam sunucu bilgisayarda çalışır ve sonuç istemciye gönderilir.
OLAYA BAĞLI YORDAMLAR (METOTLAR) Yordam (metot) olay meydana geldiğinde yapılacak olan işlemleri belirtir.
OLAYA BAĞLI YORDAMLAR (METOTLAR) Aşağıda buton olayında referans gösterilen arttir metodu yer almaktadır. Object sender ifadesi butonumuzu temsil eden bir değişkendir. Bu değişkene istediğimiz ismi verebiliriz Değişken kullanmak; bir metot ya da yordamı birden fazla kontrolün kullanmasını sağlar Örneğin 3 butonun aynı metodu kullanmasını sağlayalım:
OLAYLAR (EVENTS) Aşağıda button ve textbox kont
WEB FORMLARININ POSTALANMASI (POSTBACK) İstemci bilgisayardan sunucuya veriler 2 şekilde postalanır: Tüm form kontrolleri doldurulduktan sonra. Biriktirerek postalama Herhangi bir form kontrolü ile işimiz biter bitmez. Örneğin il seçimi yaptıktan hemen sonra o ile ait ilçelerin bir başka kontrolde listelenmesi hemen postalamadır. Hemen postalama yapmak istiyorsak, kontrol bildiriminde ilgili kontrolün AutoPostBack özelliğinin True yapılması gerekir.
WEB FORMLARININ POSTALANMASI (POSTBACK) Tumunu_postala.aspx
WEB FORMLARININ POSTALANMASI (POSTBACK) hemen_postala.aspx
AUTOPOSTBACK Nasıl Yapılıyor? Bir kontrolde işimiz biter bitmez yapılan postalama işleminde sunucu bu kontroldeki değişimden istemci bilgisayarda çalışan javascript kodları sayesinde haberdar olmaktadır Formdaki bir kontrolden ayrıldığımızda bu javascript kodları tarafından algılanır ve sunucuya bildirilir. Bu javascript kodlarını sayfanın kaynak koduna baktığınızda görebilirsiniz.
ISPOSTBACK Özelliği Postback: Sayfanın yine kendisine yönlenmesi IsPostBack Page nesnesinin bir özelliğidir. Sayfanın ilk defa mı yüklendiğini yoksa geri postalama mı yapıldığını öğrenmek için kullanılır Page nesnesinin IsPostBack özelliğinin değeri false ise sayfa ilk defa yüklenmiş demektir. Böylelikle örneğin bazı işlemlerin yalnızca sayfa ilk yüklendiğinde çalışmasını sağlayabilirsiniz.
ISPOSTBACK Özelliği Sayfa ilk defa yüklendiğinde label kontrolüne 0 değeri atanacak geri postalama işlemlerinde ise label kontrolünde sayı artırılacak
KAYNAK C# ile ASP.NET Zafer Demirkol