aslında garip bir şey değil olay bir sorun da değil asp işleyişi. olay şöyle gelişiyor Post metodu servera yaptığımız isteklerden biridir. ama normal asp.net ile post ile ilgili bir şey görmek çok zor bir tek ispostback diye bir fonksiyon var yanlış hatırlamıyorsam önce post metodunu açıklayarak başlayayım.
Elimizde bir form var diyelim formun içinde çeşitli textbox çeşitli butonlar falan olsun formun post edilmesi demek formun içindeki server'a işlenmesi için bir takım veriler yollamak demektir. (textbox ların içeriği gibi) server formu obje olarak alır ve form değerlerine göre işlemini yapar bize bir html çıktısı döndürür.
asp.netteki ispostback metodu o sayfaya ilk defa mı geliniyor yoksa o sayfada daha önce bulunulmuş ve oradaki form sunucuya işlenmesi için mi gönderiliyor bunun kontrolünü yapar
neyse asp.net formlarında varsayılan method post methodudur. yani form eklediğinizde form etkieti içindeki method kısmında method="post" yazıyor olması lazım. bir formu servera işlenmesi için göndermek de farklı yollarla olur örneğin bir submit butonuna tıklamak ve formun içindeki bir objeye focuslanmışsak enter tuşuna basmak gibi enter tuşu direk formu submit eder isterse formun içinde bir butona focuslanmış olalım o focuslandığımız butona tıklanmaz direk formu servera post metoduyla gönderir bu gibi durumda. eğer focuslanmış bir butona klavyeden tıklamak istiyorsak boşluk(space) kullanarak tıklamış olabiliriz aksi halde enter herhangi bir butona tıklamış olmadan direk post edecektir sayfayı. kısacası butona tıklanmadığı için asp.netin ilgili button click fonksiyonu çalşmayacaktır. ancak ispostback fonksiyonu true dönecektir.
asp.net biraz http protokolünü anlamadan kodlama yaptırtıyor insana tavsiyem asp.net'i MVC framework ile kullanmak. en azından microsoftun dayatması olan page_load page_loadComplete button_click gibi fonksiyonlardan kurtarıyor insanı hem http nin nasıl çalıştığını öğrenmiş oluyorsunuz. denedim mvc framework microsoftun yaptığı en iyi şeylerden biri diyebilirim.
there is no emotion; there is peace
there is no ignorance; there is knowledge
there is no passion; there is serenity
there is no chaos; there is harmony
there is no death: there is the force
|