ASP.NET SAYFA DETAYLARI Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu
ASP.NET SAYFA DETAYLARI
ASP.NET SAYFA DETAYLARI Klasik ASP sayfalarında form verileri her seferinde işlenebilmesi için sunucuya gönderilir. Sayfada herhangi bir değişiklik olup olmaması önemli değildir, sunucu her seferinde sayfayı ve formları işler ASP.NET sayfalarında ise programın sunucu tarafından işlenmesi olaya odaklanmıştır. Sadece kontrollerde bir olay meydana geldiğinde, program yordamı işler.
ASP.NET SAYFA DETAYLARI Buradaki örneğimizde yalnızca TextBox kontrolünde bir değişiklik olduğunda sunucu programı çalıştırır. Böylelikle sunucu gereksiz yere meşgul edilmemiş olur Aynı zamanda klasik ASP sayfalarından farklı olarak burada TextBox kontrolüne bir isim girildiğinde olay gerçekleştikten sonra da bu isim korunacaktır Peki sunucu bir olayın gerçekleşip gerçekleşmediğini nasıl anlıyor? Örneğin bir TextBox girdisinin değişip değişmediğini anlaması için elinde iki tane veri olması lazım
VİEWSTATE ASP.NET bunun için sayfanın HTML kodunda, ismi "ViewState" olan gizli bir form elemanı oluşturur ve girilen değerleri buraya kodlayarak saklar. Örneğimizde bu bir web form kontrolü olan TextBox dır. ViewState den dolayı verilen örnekteki ASP.NET sayfasına girdiğimiz TextBox değeri ile mevcut olan değerin her ikisi de elde edilmiş ve olayın gerçekleşip gerçekleşmediği kontrol edilebilmiştir.
POSTBACK FORM Klasik ASP sayfalarından farklı olarak ASP.NET sayfalarında formun işleneceği adres yani action kısmı belirtilemez. Bunun anlamı sunucunun sayfadaki işlemleri yapıp sonuçları yine aynı sayfaya vereceğidir. Aynı sayfa işlenmiş haliyle geri gönderilir. Browser dan sayfanın kaynak koduna baktığınızda action kısmının sayfanın yine kendi adresi referans verilerek otomatik olarak eklendiğini görürsünüz.
Sayfanın Program Olarak Yorumlanması.NET ortamında istemci sunucudan ilk kez bir sayfa isteğinde bulunduğunda kod bildirim bloğundaki kodlar derlenir. Sayfa ilk yüklendiğinde biraz gecikmeli geliyorsa sebebi budur. Ancak bu ilk yüklemeye mahsus bir olaydır. Sayfayı ikinci kez istediğinizde eğer kodlar da bir değişiklik yapılmamış ise gecikme yaşamazsınız.
Sayfanın Program Olarak Yorumlanması Sayfadaki form doldurup gönderildiğinde ve kodlar derlendiğinde, ASP.NET kodların gerekliliklerini yerine getirmek üzere sayfadaki olayları yakalar. (Bizim örneğimizde bu olay TextBox kontrolündeki girdinin değişmesi) ve sonucu HTML e çevirerek istemciye gönderir. İstemcinin browserı sayfanın son halini gösterir.
Sayfanın Program Olarak Yorumlanması Bu işleyişin sonunda çıktıların tümü Html'dir. Yani bu esnada form kontrolleri de HTML form elemanlarına çevrilir. Sayfanın kaynak koduna baktığınızda hiçbir şekilde ASP.NET e ait program kodu göremezsiniz.
Sayfaya Namespace Eklenmesi.NET Framework ü temel olarak birçok namespace in toplamından oluşur. Namespace; üzerinde çalışılacak programların, alt yapısını oluşturan class ların toplamından oluşur Visual Studio editörü kendisi için gereken Namespace leri uygulamaya otomatik olarak ekler ve kullanır. Bunlar: System System.IO System.Collections System.Web System.Web.UI System.Web.UI.HTMLControls System.Web.UI.WebControls
Sayfaya Namespace Eklenmesi Bu namespace ler ASP.NET in doğal bir parçasıdır ve uygulamanızda bunlar için ek bir bildirimde bulunmanıza gerek yoktur Ancak kendinizin ya da başkalarının oluşturduğu namespace leri uygulamanızda kullanmak isteyebilirsiniz. Bu durumda bu namespace i sayfanızda bildirmeniz (import) gereklidir Bir namespace i import etmemiz için aşağıdaki şekilde bir bildirim kullanmalıyız. Sayfanın başına, <%@ import Namespace=namespace'in ismi %> Örneğin ASP.NET ile tanımlı gelmeyen fakat.net Frameworkünde bulunan System.Drawing namespace ini sayfamıza aşağıdaki gibi dahil ederiz. <%@ import Namespace="System.Drawing" %>
KAYNAK C# ile ASP.NET Zafer Demirkol