Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > .netin garipliği
Yazar
cokomastik


avatar

Kayıt: 14.09.2008
25.08.2010-12:24 #70737
Garip bir şey fark ettim eğer formun içinde 1 tane textbox varsa sadece textbox içindeyken entera basınca sayfa postback oluyor ancak defaultsubmit butonumuz çalışmıyor sizce nedeni ne olabilir? görünmez 1 tane daha textbox eklemek sorunu hallediyor.





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
25.08.2010-17:25 #70740
Ben hiç böyle bir gariplik yaşamadım :) Belki kodların bozulmuştur? Mesela textbox'ın Focus eventi açılmıştır? gibi gibi..

Kodlarını aspx ve cs sini de paylaşırsan bizde deneyebiliriz bakarız soruna.





Yazar
cokomastik


avatar

Kayıt: 14.09.2008
26.08.2010-12:09 #70742
vbde karşılaşmıştım şimdi c# ta denedim. 1 wep application açtım içine sadece 1 textbox ve 1 button attım. textbox içinde entera basıldığı zaman button click çalışmadan bir tür postback yapıyor.





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
26.08.2010-15:11 #70743
Dediğini şimdi yaptım. Sadece IE (niyeyse :D) bu şekilde yapıyor :) Chrome ve Firefox düzgün çalıştırıyor butonu.

Konuyla ilgili bir makale: http://www.4guysfromrolla.com/articles/060805-1.aspx





Yazar
fealin


avatar

Kayıt: 30.01.2006
26.08.2010-15:14 #70744
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
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb