ASP.NET Sayfa ( web form ) yapısı ve yeni bir ASP.NET sayfa oluşturma teknikleri
Merhaba arkadaşlar;
Sizler tarafından gönderilen e-postalardaki talepleriniz doğrultusunda fırsat buldukça farklı konular üzerine görsel sunumlar veya makaleler hazırlamaya çalışıyorum. Daha önceki birkaç makalemde de belirttiğim gibi konuların başlangıç seviyesinden itibaxren anlatılması yönündeki talepler olabildiğince fazla sayıda. Elimden geldiğince tüm ASP.NET konularını da sıralı olarak sizlerle paylaşmaya çalışacağım.
Bu anlamda ASP.NET sayfalarının genel yapısını inceleyerek ilk adımımızı atmış olalım.
Visual Studio da yeni bir web site oluşturduktan sonra ;
.jpg)
Solution Explorer da projemize sağ click ile açılan ekrandan Add New Item seçeneği ile projemize yeni bir sayfa eklemek için Web Form seçeneğini işaretleyelim.
.jpg)
Şimdi bu noktada Add seçeneği ile sayfamızı eklemeden önce Place code in separe file seçeneği üzerine biraz konuşalım istiyorum.
ASP.NET sayfalarımızı (web form) oluştururken iki farklı şekilde oluşturabilme şansımız var. Bu iki seçeneği de ayrı ayrı görelim ve sizler hangisini dilerseniz o şekilde web formlarınızı oluşturarak projelerinizi geliştirirsiniz.
Birinci seçenekte Place code in separet file seçeneğindeki seçimi kaldırarak web form eklememiz durumunda açılan sayfadaki elemanları ve sayfanın yapısını beraberce inceleyelim.
.jpg)
Yukarıdan aşağıya doğru inceleyecek olursak en üst kısımda Page Directive ( sayfa direktifi) olarak adlandırılan <% %> tagları arasında sayfanın genel yapısına dair bilgilere ulaşabildiğimiz bir bölüm bulunmakta.
.jpg)
Bu Page Directive alanında ilk kısımda "Page" belirtimi ile bunun bir sayfa olduğu ve "Language" belirtimi ile de bu sayfanın C# dili alt yapısı ile oluşturulduğu belirtilmekte.
.jpg)
Web ortamında geliştirdiğimiz tüm uygulamalarda arka plan da kullandığımız teknoloji ne olursa olsun ( ASP.NET, klasik ASP, PHP) uygulamalarımız daima browserlar tarından HTML dilinde yorumlanarak kullanıcılara HTML veya Javascript çıktılar ile gösterilecektir. ASP.NET ile web geliştirdiğimiz projelerimizde de her zaman sayfalarımızın arayüzü için HTML kullanmak durumundayız.Yani HTML olmazsa olmazımız durumunda. Bu nedenle burada da klasik bir HTML sayfasındaki DCTYPE tanımlamasını görmekteyiz.
.jpg)
kısmında ise Code Declaration Block olarak adlandırılan Kod Bildirim Bloğu göze çarpmakta.Fakat buradaki <Script></Script> taglarındaki tanımlamada bir farklılık sözkonusu. runat="server" tanımlaması ile bu taglar arasında yazılan her ifadenin server tarafında çalışacağını bildirir ve sayfamızdaki tüm yordamlar bu taglar içerisinde çalışır. Örneğin sayfamıza eklediğimiz herhangi bir Buton un click olayında meydana gelmesini istediğimiz olaya dair tüm bildirimler bu taglar arasında tanımlanır. Sayfamıza ait tüm kodlamalar bu taglar arasında bulunur.
.jpg)
Bu kısmı incelediğimizde ise klasik bir HTML sayfasından pekde farklı olmayan bir yapı görmekteyiz. Sayfamıza ait css dosyası tanımları, meta tanımlamaları gibi kullanıcıların göremeyeceği arka plan tanımlama alanı <head></head> taglarını ve kullanıcıların görebileceği tüm html elemanlarını yerleştirebileceğimiz <body></body> taglarını görmekteyiz. Fakat klasik HTML sayfalarından (ki diğer diller içinde aynı durum sözkonsudur ) çok ama çok önemli bir farklılık içerisinde runat="server" bildiriminin bulunduğu bir <form></forma> tagına rastlıyoruz. Bu tanımlama sayesinde sayfamızdaki tüm kontrollerin serverda yorumlanacağını anlayabiliyoruz ki bu web uygulamaları noktasında bir devrimdir. Tabi şuan bu makaleyi okuduğunuza göre daha yolun başlarında olduğunuzu var sayarak bu tanımlama neden bir devrim olarak kabul edilebilir ? sorusunun cevabına ileriki süreçlerde değieneceğim. Fakat ASP.NET sayfaları ile ilgili çok ama çok önemli bir husustur ki standart sayfalar yorumlanarak çalıştırılır fakat asp.net sayfalarında Code Declaration Block içerisindeki yapı sayesinde kodlar MSIL denilen bir birimde otomatik olarak derlenirler ve derlenerek çalıştırlar. Bu ise performans noktasında tahmin edilemeyecek kadar ciddi bir avantaj sağlar.
Şimdi gelelim bir diğer sayfa ekleme yöntemine ;
Place code in separete file seçeneğini işaretli olarak sayfa eklememiz durumunda ise aşağıdaki yapıya sahip bir sayfa oluşmakta.
.jpg)
Bu yapıda bir önceki yapıya göre sayfa bildirimlerinde çok fazla bir değişiklik görmemekteyiz.
Bir önceki yapı içerisinde bulunan ve sayfanın kodlarını yazdığımız <script runat="server"></script> taglarını görememekteyiz. Bunun sebebi sayfanın kodları için .aspx.cs uzantılı farklı bir eleman daha oluşmuş olmasıdır.
.jpg)
Projemizde Solution Explorer penceresinde baktığımızda da ilk yöntemle oluşturduğumuz Default2.aspx sayfasının tek elemandan diğer yöntemle oluşturduğumuz Default isimli sayfamızın ise .aspx ve .aspx.cs uzantılı iki elemandan meydana geldiğini görebilmekteyiz.
Bu yapıda CodeFile bildiminde sayfanın kodlarının nerde bulunacağı belirtilmekte. Diğer kısımlar bir önceki ASP.NET sayfa oluşturma tekniğinde bahsettiğimiz yapı ile aynıdır.
Bu makalemizde ASP.NET sayfasını genel itibari ile incelemeye çalıştık. Faydalı olması ümidi ile kalın sağlıcakla.
Mahmut TEMUR
ASP.NET.TR Community Lead
http://www.mahmuttemur.com
e-posta : mahmuttemur@windowslive.com