Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > asp.net submit sorunu
Yazar
cokomastik


avatar

Kayıt: 14.09.2008
18.08.2010-12:22 #70668
Tek bir sayfanın içinde birden fazla submit gerektiren bölüm var. Diyelim ki iucoders ın giriş sayfası gibi.
Enter tuşuna basılınca hangi bölümdeyse o kısım submit oluyor bu ayrımı nasıl yapıyoruz çünkü asp.net sadece tek server taraflı forma izin veriyor.





Yazar
cantur


avatar
Rize
admin
Kayıt: 16.01.2006
18.08.2010-13:05 #70669
cokomastik yazdi
 
Tek bir sayfanın içinde birden fazla submit gerektiren bölüm var. Diyelim ki iucoders ın giriş sayfası gibi.
Enter tuşuna basılınca hangi bölümdeyse o kısım submit oluyor bu ayrımı nasıl yapıyoruz çünkü asp.net sadece tek server taraflı forma izin veriyor.


Enter tusunun hangi buton icin calisacagi asp.net ten cok javascript ile halledileilecek bir mevzu.

ASp.net tarafinda duzenlemek icin sayfayi gondermeden istedigin butonun focus fonksiyonunu cagirabilirsin. Bu butonu secili hale getirir ama her hangi bir yere text girildiginde focus degisecegi icin bu isini gormeyecektir.

Bunun yerine tam hatirlamamakla sole bir javascript yazman gerekiyor. Sayfadaki body tag'i icin onkeypressed() gibi bir javascript fonksiyonu tanimlayip burada girilen key ENTER ise istedigin butonun tiklanmasini saglayabilirsin.

Javascript ile bunu yapmanin bir cok yolu var internette sana uygun olani bulmak icin biraz arastirma yapmani tavsiye ederim





Yazar
hazakli


avatar
Istanbul
Kayıt: 19.01.2007
18.08.2010-14:17 #70670
Aşağıda sana uygun bi kod yazdım. İşini görebilir.

<html>
	<head>
		<script type="text/javascript">       
			function submitenter(e, button_id) {
			    var keycode;
			    
			    if (window.event) keycode = window.event.keyCode;
			    else if (e) keycode = e.which;
			    else return true;

			    if (keycode == 13) {
			        document.getElementById(button_id).click();
			        return false;
			    }
			    else
			        return true;
			}
		</script>
	</head>
	<body>
		<input type="text" onkeypress="return submitenter(event,'btnSubmit')">
		<input type="button" id="btnSubmit" onclick="alert('Pressed.')" value="OK">
	</body>
</html>






Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
18.08.2010-14:52 #70671
ASP.NET bunu senin için yapıyor, şöyle ki; Her bölgeye ayrı birer panel ekle. Panelin default button özelliği var. Eğer ilgili panel içerisinde enter'a basarsan panelin default button'u tetiklenir.

Detaylı bilgi : http://www.w3schools.com/aspnet/prop_webcontrol_panel_defaultbutton.asp





Yazar
cokomastik


avatar

Kayıt: 14.09.2008
18.08.2010-15:14 #70672
Teşekkür ederim cevaplarınız için. Herkes doğruyu söylemiş sürekli javascript örneklerine rastladım internette benim aradığım burağın verdiği cevaptı nasıl karşılaşmadım anlamadım doğrusu. En kolayı da o sanırım.





Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
18.08.2010-17:27 #70675
O ayrımı html'de "form" etiketi yapıyor. Enter tuşuna basıldığı anda hangi formun içindeki bir input focus durumunda ise sunucuya o form gönderilir.

<form name="form1">
<input type="text" name="form1_data" />
<input type="submit">
</form>

<form name="form2">
<input type="text" name="form2_data" />
<input type="submit">
</form>

İşin temeli budur. Ah şu .NET'in ezberci zihniyeti... not talking





Let`s make this world a better place to live !

Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
18.08.2010-17:34 #70676
clairvoyant yazdi
 
O ayrımı html'de "form" etiketi yapıyor. Enter tuşuna basıldığı anda hangi formun içindeki bir input focus durumunda ise sunucuya o form gönderilir.

İşin temeli budur. Ah şu .NET'in ezberci zihniyeti... not talking


ASP.NET'te sadece bir form vardır ve o da sayfanın kendisidir. Bu nedenle dediğin gibi birden fazla form tanımlamak mümkün değil. (dolaylı yoldan mümkün fakat nşa'da kullanılmıyor)

Bence hiç ezberci değil :) Tam aksi kod yazımında gereken ezberciliği kaldırıyor. Ekle bir panel, göster default butonunu o senin yerine ezberleyeceğin javascript'i yazsın. Ezberinde tutacağın herşeyi kendisi yapıyor (bence) :)





Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
18.08.2010-17:44 #70677
Ben hayatımda hiç kod ezberlemedim. Kod yazmak ezber değil bilgi ve tecrübe gerektiriyor.

"Ekle bir panel, göster default butonunu o senin yerine ezberleyeceğin javascript'i yazsın"

Asıl bu söylediğin cümle ezberdir. ASP.NET ile uygulama geliştirmek için bunun gibi cümleleri ezberlersin ve işini halledersin. Ama derinlerde bir problem olduğunda koddan anlamadığın için ortada kalırsın.





Let`s make this world a better place to live !

Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
18.08.2010-18:31 #70680
sayfada zilyon tane form olmasına gerek yok. hangi textbox ta isen enter eventini js ile ona gore ayarlayip formunu submit edebilirsin.





N/A
Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
18.08.2010-19:36 #70681
Sayfada tek bir form üzerinde 15 KB (kimi yerde 60-70 KB) gereksiz verinin gidip gelmesinden iyidir her şeyi kodla yönetmek. 15 KB veri ile oyun bile yazılır. İşi zaten Javascript'e bıraktıktan sonra tek bir form üzerinde her türlü işlem tanımlanabilir (ben genelde böyle yaparım).





Let`s make this world a better place to live !

Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb