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 meydana gelir. click olayı • 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 sağlayalım: butonun aynı metodu kullanmasını 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 baktığınızda görebilirsiniz. kaynak koduna 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