<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Postback işleminde Asp.Net kontrolünü disable etmek yazısına yapılan yorumlar</title>
	<atom:link href="http://www.ahmetkaymaz.com/wp-seo-link-holder_akaymaz.php/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/feed/?404;http://www.ahmetkaymaz.com:80/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/</link>
	<description>SQL Server, C#, VB.NET, ASP.NET, AJAX ile ilgili örnek kitap ve ipuçları</description>
	<lastBuildDate>Fri, 03 Sep 2010 13:59:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Utku Yıldırım tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-6018</link>
		<dc:creator>Utku Yıldırım</dc:creator>
		<pubDate>Tue, 11 Aug 2009 08:41:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-6018</guid>
		<description>Merhaba hocam, kusura bakmayın epeydir cevap atamadım size sorunumu hallettim sanıyordum. Bu sefer de başka bir problem çıktı. Scriptim çalışıyor fakat ie da açtığımda explorer komut dizisi hatası verdirtiyor. Açıklama olarak da form1.lnkbtn_cvp nesne değil ya da null diyor. Scriptim aşağıda, cevapla butonuna basınca bir sonraki soruya sorunsuz bir şekilde geçmesi gerekirken böyle bir hata alıyorum yardımcı olabilirseniz çok sevinirim. Teşekkürler.

function SubmitForm(Obj) {
        form1.lnkbtn_cevap.disabled = true;
        __doPostBack(Obj.name, &#039;&#039;);
        alert(&quot;Postback çalıştı&quot;);
    }</description>
		<content:encoded><![CDATA[<p>Merhaba hocam, kusura bakmayın epeydir cevap atamadım size sorunumu hallettim sanıyordum. Bu sefer de başka bir problem çıktı. Scriptim çalışıyor fakat ie da açtığımda explorer komut dizisi hatası verdirtiyor. Açıklama olarak da form1.lnkbtn_cvp nesne değil ya da null diyor. Scriptim aşağıda, cevapla butonuna basınca bir sonraki soruya sorunsuz bir şekilde geçmesi gerekirken böyle bir hata alıyorum yardımcı olabilirseniz çok sevinirim. Teşekkürler.</p>
<p>function SubmitForm(Obj) {<br />
        form1.lnkbtn_cevap.disabled = true;<br />
        __doPostBack(Obj.name, &#8221;);<br />
        alert(&#8220;Postback çalıştı&#8221;);<br />
    }</p>
]]></content:encoded>
	</item>
	<item>
		<title>Ahmet Kaymaz tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-5717</link>
		<dc:creator>Ahmet Kaymaz</dc:creator>
		<pubDate>Fri, 24 Jul 2009 09:44:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-5717</guid>
		<description>Utku örnek bir dosya göndermek için sana mail attım.</description>
		<content:encoded><![CDATA[<p>Utku örnek bir dosya göndermek için sana mail attım.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Utku Yıldırım tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-5715</link>
		<dc:creator>Utku Yıldırım</dc:creator>
		<pubDate>Fri, 24 Jul 2009 09:31:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-5715</guid>
		<description>Cevap için teşekkürler hocam. 9. yorumdaki yazınızı dikkatle okudum ve 7. örnekteki scripti uyguladım fakat sonuç alamadım. Sayfamda validation kullanmadığım için else satırı düşüyorum ilk alertı verdikten sonra diğer alertleri vermeden bir sonraki soruya geçiyorum form submit ediliyor sanırım. Bu şekilde 1 er 1 er ilerleyebiliyorum ama işin kötü yanı ilk alerti kaldırdığımda çift tıklama ile soruyu cevaplarsam disable çalışmıyor ve 2 soru birden cevaplanıyor. Projeyi teslim etmek üzereyiz ve sırf bu yüzden tıkandık kaldık yardımlarınızı bekliyorum. Şimdiden teşekkürler.</description>
		<content:encoded><![CDATA[<p>Cevap için teşekkürler hocam. 9. yorumdaki yazınızı dikkatle okudum ve 7. örnekteki scripti uyguladım fakat sonuç alamadım. Sayfamda validation kullanmadığım için else satırı düşüyorum ilk alertı verdikten sonra diğer alertleri vermeden bir sonraki soruya geçiyorum form submit ediliyor sanırım. Bu şekilde 1 er 1 er ilerleyebiliyorum ama işin kötü yanı ilk alerti kaldırdığımda çift tıklama ile soruyu cevaplarsam disable çalışmıyor ve 2 soru birden cevaplanıyor. Projeyi teslim etmek üzereyiz ve sırf bu yüzden tıkandık kaldık yardımlarınızı bekliyorum. Şimdiden teşekkürler.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Ahmet Kaymaz tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-5678</link>
		<dc:creator>Ahmet Kaymaz</dc:creator>
		<pubDate>Wed, 22 Jul 2009 09:46:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-5678</guid>
		<description>Sevgili Utku,

özellikle 9.yorumda yazdıklarıma dikkat etmeni tavsiye edeceğim. Onun dışında özel birşey yapmana gerek yok. Eğer yine de olmuyorsa IE&#039;ın JavaScript ayarlarından kaynaklanıyor olabilir. Ayrıca JavaScript içerisinde alert ile uyarı vererek tam olarak nereye takıldığını görmek lazım.</description>
		<content:encoded><![CDATA[<p>Sevgili Utku,</p>
<p>özellikle 9.yorumda yazdıklarıma dikkat etmeni tavsiye edeceğim. Onun dışında özel birşey yapmana gerek yok. Eğer yine de olmuyorsa IE&#8217;ın JavaScript ayarlarından kaynaklanıyor olabilir. Ayrıca JavaScript içerisinde alert ile uyarı vererek tam olarak nereye takıldığını görmek lazım.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Utku Yıldırım tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-5581</link>
		<dc:creator>Utku Yıldırım</dc:creator>
		<pubDate>Fri, 17 Jul 2009 12:44:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-5581</guid>
		<description>Hocam, sizin alert ile verdiğiniz örnekteki scripti de denedim ama çalıştıramadım bir türlü validator kullanmadığım zaman kullanılmadı diye hata mesajı almam gerekmiyor muydu? Siz kullanmasam da çalıştı demişsiniz.</description>
		<content:encoded><![CDATA[<p>Hocam, sizin alert ile verdiğiniz örnekteki scripti de denedim ama çalıştıramadım bir türlü validator kullanmadığım zaman kullanılmadı diye hata mesajı almam gerekmiyor muydu? Siz kullanmasam da çalıştı demişsiniz.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Utku Yıldırım tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-5579</link>
		<dc:creator>Utku Yıldırım</dc:creator>
		<pubDate>Fri, 17 Jul 2009 11:33:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-5579</guid>
		<description>Merhaba Ahmet Hocam, dediğiniz şekilde obj.id yerine obj.name kullandım fakat gene postback işlemi gerçekleşmedi.Elimde bir online test modülü var cevapla butonuna 2 kere basmayı engellemek istiyorum ama bu sefer 1. sorudan 2. soruya geçemiyorum postback işlemi gerçekleşmediği için.

Yardımcı olursanız çok sevinirim, şimdiden teşekkür ederim. İyi çalışmalar...</description>
		<content:encoded><![CDATA[<p>Merhaba Ahmet Hocam, dediğiniz şekilde obj.id yerine obj.name kullandım fakat gene postback işlemi gerçekleşmedi.Elimde bir online test modülü var cevapla butonuna 2 kere basmayı engellemek istiyorum ama bu sefer 1. sorudan 2. soruya geçemiyorum postback işlemi gerçekleşmediği için.</p>
<p>Yardımcı olursanız çok sevinirim, şimdiden teşekkür ederim. İyi çalışmalar&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Aykut CANTÜRK tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-3527</link>
		<dc:creator>Aykut CANTÜRK</dc:creator>
		<pubDate>Thu, 07 May 2009 12:22:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-3527</guid>
		<description>arkadaslar benim şöyle bir sorunum var 
konuyla pek alakalımı bilmiorm ama yaziim dedim
yardımcı olursanız gerçekten çok sevinirim
bir gridview ım var bu grid de arama sonuçlarını gösteriorm
tıklanan ürünün id sine göre o ürüne ait detay sf sını gösteriorm 
fakat gridviewın asp kodlarında postback&#039;ini iptal etmem gerek işi c# kod bölümünden halledicem yani
ama o kısmı sildigim zaman hata veriyor PostBackUrl=&quot;javascript:void(0) &quot; yaptığım zaman ise hiçbi işlem yapmıyor. gridview ın selectedindexchanged alanında yazdığım kodlarıda çalıştrmıyor .yani sorunum postback i silememek.
sorunu çözemedm yardımcı olursnız sevinirim</description>
		<content:encoded><![CDATA[<p>arkadaslar benim şöyle bir sorunum var<br />
konuyla pek alakalımı bilmiorm ama yaziim dedim<br />
yardımcı olursanız gerçekten çok sevinirim<br />
bir gridview ım var bu grid de arama sonuçlarını gösteriorm<br />
tıklanan ürünün id sine göre o ürüne ait detay sf sını gösteriorm<br />
fakat gridviewın asp kodlarında postback&#8217;ini iptal etmem gerek işi c# kod bölümünden halledicem yani<br />
ama o kısmı sildigim zaman hata veriyor PostBackUrl=&#8221;javascript:void(0) &#8221; yaptığım zaman ise hiçbi işlem yapmıyor. gridview ın selectedindexchanged alanında yazdığım kodlarıda çalıştrmıyor .yani sorunum postback i silememek.<br />
sorunu çözemedm yardımcı olursnız sevinirim</p>
]]></content:encoded>
	</item>
	<item>
		<title>Ahmet Kaymaz tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-1068</link>
		<dc:creator>Ahmet Kaymaz</dc:creator>
		<pubDate>Wed, 28 Jan 2009 06:25:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-1068</guid>
		<description>Aydın,

örneği geliştirip custom control haline getirmiş olman çok güzel. Eline sağlık. Verdiğin link geçersiz olmadıktan sonra adres vermenin bir sakıncası yok bence.</description>
		<content:encoded><![CDATA[<p>Aydın,</p>
<p>örneği geliştirip custom control haline getirmiş olman çok güzel. Eline sağlık. Verdiğin link geçersiz olmadıktan sonra adres vermenin bir sakıncası yok bence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Aydın Candan tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-1067</link>
		<dc:creator>Aydın Candan</dc:creator>
		<pubDate>Tue, 27 Jan 2009 23:44:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-1067</guid>
		<description>Ahmet Bey,
İlginize tekrar teşekkür ediyorum. dediklerinizi harfiyen yerine getirip anladıktan sonra sorun yok.

Bende işi abartıp bunlara ek olarak &#039;postback durumunda ekranı disable etmek&#039; olayına getirdim işi. ekte sınıfın source kodları ve demo mevcut. isteyen herkes inceleyip bir fikir sahibi olabilir, geliştirebilir.

postlarda adres vermek ne derece doğru bilmiyorum ama buradan indirebilirsiniz. http://www.candan.org/_diger/WebSite2.rar</description>
		<content:encoded><![CDATA[<p>Ahmet Bey,<br />
İlginize tekrar teşekkür ediyorum. dediklerinizi harfiyen yerine getirip anladıktan sonra sorun yok.</p>
<p>Bende işi abartıp bunlara ek olarak &#8216;postback durumunda ekranı disable etmek&#8217; olayına getirdim işi. ekte sınıfın source kodları ve demo mevcut. isteyen herkes inceleyip bir fikir sahibi olabilir, geliştirebilir.</p>
<p>postlarda adres vermek ne derece doğru bilmiyorum ama buradan indirebilirsiniz. <a href="http://www.candan.org/_diger/WebSite2.rar" rel="nofollow">http://www.candan.org/_diger/WebSite2.rar</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Ahmet Kaymaz tarafından</title>
		<link>http://www.ahmetkaymaz.com/2006/04/18/postback-isleminde-aspnet-kontrolunu-disable-etmek/comment-page-1/#comment-1063</link>
		<dc:creator>Ahmet Kaymaz</dc:creator>
		<pubDate>Tue, 27 Jan 2009 09:42:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.ahmetkaymaz.com/postback-isleminde-aspnet-kontrolunu-disable-etmek/2006/04/18/#comment-1063</guid>
		<description>Mesajlarına odaklanamamışım kusura bakma. Sorunun disable veya submit değil postback işleminin gerçekleşmiyor olmasıdır. Yeri gelmişken diğer arkadaşlar için de bir özetleme yapıp sorunun neyden kaynaklandığını yazalım.

Herhangi bir olayda postback işleminin gerçekleşmesi için istemci tarafında o kontrolün ilgili olayının (click, changed ...) &lt;b&gt;__doPostBack()&lt;/b&gt; yordamını çalıştırması gerekir. Bu yordam hangi kontrolün tıklandığını ve hangi argümanlası sunucuya göndereceğini belirler. Bu amaçla &lt;i&gt;eventTarget, eventArgument&lt;/i&gt; parametrelerini alır. İlk parametre postback işlemine neden olmuş kontrolün adını, eventArgument ise sözkonusu kontrol ile ilişkili bilgileri, argümanları içerir. Bu iki parametrenin değeri aspx sayfasıyla birlikte otomatik olarak gelen ve hidden özelliğine sahip &lt;i&gt;__EVENTTARGET, __EVENTARGUMENT&lt;/i&gt; kontrollerinde tutulur. Form submit olduğu zaman bu kontrollerin değerleri sunucuya gönderilir. Bundan sonraki süreç yazıda anlatıldığı gibi sunucu tarafında gerçekleşir. 

Gelelim &lt;b&gt;GetPostBackEventReference&lt;/b&gt; yordamına; ASP.NET uygulamalarında varsayılan olarak sadece &lt;b&gt;Button&lt;/b&gt; ve &lt;b&gt;Image Button&lt;/b&gt; kontrolleri otomatik olarak postback işlemini sağlar. Bunların dışında TextBox veya LinkButton gibi bir kontrol aracılığıyla postback işlemi gerçekleşecekse bu kontrollerin istemci tarafında Click eventini &lt;b&gt;__doPostBack()&lt;/b&gt; yordamını çalıştıracak şekilde düzenleme yapmamız gerekir. Yani &lt;href=javascript:__doPostBack(&#039;KontrolAdi&#039;,&#039;&#039;)&gt; şeklinde bir ifade yazılmalıdır. Buradaki &lt;b&gt;KontrolAdi&lt;/b&gt; değişkeni sözkonusu kontrolün istemci tarafındaki &lt;b&gt;Name&lt;/b&gt; bilgisidir. Bu bilgiyi her zaman kestiremeyebiliriz diye &lt;b&gt;Page.GetPostBackEventReference&lt;/b&gt; veya &lt;b&gt;Page.GetPostBackClientEvent&lt;/b&gt; yordamları kullanılır. &lt;i&gt;ASP.NET 2.0 ile birlikte bu yordamlar yerine Page.ClientScript.GetPostBackEventReference kullanılması tavsiye edilmektedir.&lt;/i&gt; Bu yordam(-lar) postback işlemini tetikleyecek client tarafındaki script ifadesini döndürür. Örneğin senin örneğinde Response.Write(this.Page.GetPostBackEventReference(this.TextBox1)) kodu &quot;__doPostBack(&#039;ctl00$ContentPlaceHolder1$TextBox1&#039;,&#039;&#039;)&quot; ifadesini yazdırır. Yani __doPostBack yordamına $&#039;lı ifadenin geçmesi gerekir. 

Sayfada kullandığımız bir kontrolün istemci tarafında HTML tag ifadesinin nasıl olacağı kontrolün user control, master page, panel gibi herhangi bir container içerisinde olup olmamasına bağlıdır. Örneğin sunucu tarafında ID&#039;si &lt;b&gt;Button1&lt;/b&gt; olan kontrol sayfada masterpage yoksa aşağıdaki html ifadeye dönüşür.

&lt;input type=&quot;submit&quot; name=&quot;Button1&quot; value=&quot;Gönder&quot; id=&quot;Button1&quot; /&gt;

Eğer aynı kontrol doğrudan bir master page içerisinde olursa aşağıdaki gibi değişir.

&lt;input type=&quot;submit&quot; name=&quot;ctl00$Button1&quot; value=&quot;Gönder&quot; id=&quot;ctl00_Button1&quot; /&gt;

Aynı şekilde aynı kontrol master page içerisindeki bir sayfanın içerisinde olursa bu sefer şu şekilde değişir.

&lt;input type=&quot;submit&quot; name=&quot;ctl00$ContentPlaceHolder1$Button1&quot; value=&quot;Gönder&quot; id=&quot;ctl00_ContentPlaceHolder1_Button1&quot; /&gt;

Buradaki id ve name bilgisi tamamen kontrolün  kontrolün sunucu tarafındaki konumuna ve konteynerlerin ID bilgisine göre oluşturulur. Bir kontrolün istemci taraındaki id bilgisinin ne olduğu &lt;i&gt;this.Button1.ClientID&lt;/i&gt; özelliğiyle, name bilgisi ise &lt;i&gt;this.Button1.UniqueID&lt;/i&gt; ile öğrenilir.


Bu kontrollerin postback işlemini gerçekleştirebilmesi için __doPostBack yordamına istemci tarafındaki &lt;b&gt;id&lt;/b&gt; bilgisi değil &lt;b&gt;name&lt;/b&gt; bilgisinin parametre olarak gönderilmesi gerekir. Oysa bizim yazdığımız JavaScript yordamında &lt;i&gt;__doPostBack(Obj.id,&#039;&#039;);&lt;/i&gt; şeklinde kontrolün ID&#039;si alınmıştır. O zaman bu satırı değiştirmemiz gerekiyor. &lt;i&gt;__doPostBack(Obj.name,&#039;&#039;);&lt;/i&gt; şeklinde yaparsak sorun çözülmüş olacak. 

Bu arada ASP.NET 2.0 ile birlikte hem scroll konumunu korumak hem de sunucuya daha fazla bilgi göndermek için &lt;b&gt;__doPostBack&lt;/b&gt; yordamına alternatif olarak &lt;b&gt;WebForm_DoPostBackWithOptions&lt;/b&gt; yordamı geliştirildi. Bu yordamın parametre yapısı şu şekildedir;

WebForm_DoPostBackWithOptions(WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit)) 

Ama bu yordama dışarıdan müdahale edemiyoruz. Otomatik olarak postback kontrollerine ekleniyor. Onun için şimdilik &lt;b&gt;__doPostBack&lt;/b&gt; yordamına devam edeceğiz. Fakat postback olmayan bir kontrolün postback kontrolü çalıştırmasını sağlayabiliriz.

&lt;a href=&quot;javascript:;&quot; onclick=&quot; ValidateSubmit(Button1);WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;Button1&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))&quot;&gt;TIKLA ve POSTBACK ET&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Mesajlarına odaklanamamışım kusura bakma. Sorunun disable veya submit değil postback işleminin gerçekleşmiyor olmasıdır. Yeri gelmişken diğer arkadaşlar için de bir özetleme yapıp sorunun neyden kaynaklandığını yazalım.</p>
<p>Herhangi bir olayda postback işleminin gerçekleşmesi için istemci tarafında o kontrolün ilgili olayının (click, changed &#8230;) <b>__doPostBack()</b> yordamını çalıştırması gerekir. Bu yordam hangi kontrolün tıklandığını ve hangi argümanlası sunucuya göndereceğini belirler. Bu amaçla <i>eventTarget, eventArgument</i> parametrelerini alır. İlk parametre postback işlemine neden olmuş kontrolün adını, eventArgument ise sözkonusu kontrol ile ilişkili bilgileri, argümanları içerir. Bu iki parametrenin değeri aspx sayfasıyla birlikte otomatik olarak gelen ve hidden özelliğine sahip <i>__EVENTTARGET, __EVENTARGUMENT</i> kontrollerinde tutulur. Form submit olduğu zaman bu kontrollerin değerleri sunucuya gönderilir. Bundan sonraki süreç yazıda anlatıldığı gibi sunucu tarafında gerçekleşir. </p>
<p>Gelelim <b>GetPostBackEventReference</b> yordamına; ASP.NET uygulamalarında varsayılan olarak sadece <b>Button</b> ve <b>Image Button</b> kontrolleri otomatik olarak postback işlemini sağlar. Bunların dışında TextBox veya LinkButton gibi bir kontrol aracılığıyla postback işlemi gerçekleşecekse bu kontrollerin istemci tarafında Click eventini <b>__doPostBack()</b> yordamını çalıştıracak şekilde düzenleme yapmamız gerekir. Yani &lt;href=javascript:__doPostBack(&#8216;KontrolAdi&#8217;,&#8221;)&gt; şeklinde bir ifade yazılmalıdır. Buradaki <b>KontrolAdi</b> değişkeni sözkonusu kontrolün istemci tarafındaki <b>Name</b> bilgisidir. Bu bilgiyi her zaman kestiremeyebiliriz diye <b>Page.GetPostBackEventReference</b> veya <b>Page.GetPostBackClientEvent</b> yordamları kullanılır. <i>ASP.NET 2.0 ile birlikte bu yordamlar yerine Page.ClientScript.GetPostBackEventReference kullanılması tavsiye edilmektedir.</i> Bu yordam(-lar) postback işlemini tetikleyecek client tarafındaki script ifadesini döndürür. Örneğin senin örneğinde Response.Write(this.Page.GetPostBackEventReference(this.TextBox1)) kodu &#8220;__doPostBack(&#8216;ctl00$ContentPlaceHolder1$TextBox1&#8242;,&#8221;)&#8221; ifadesini yazdırır. Yani __doPostBack yordamına $&#8217;lı ifadenin geçmesi gerekir. </p>
<p>Sayfada kullandığımız bir kontrolün istemci tarafında HTML tag ifadesinin nasıl olacağı kontrolün user control, master page, panel gibi herhangi bir container içerisinde olup olmamasına bağlıdır. Örneğin sunucu tarafında ID&#8217;si <b>Button1</b> olan kontrol sayfada masterpage yoksa aşağıdaki html ifadeye dönüşür.</p>
<p>&lt;input type=&#8221;submit&#8221; name=&#8221;Button1&#8243; value=&#8221;Gönder&#8221; id=&#8221;Button1&#8243; /&gt;</p>
<p>Eğer aynı kontrol doğrudan bir master page içerisinde olursa aşağıdaki gibi değişir.</p>
<p>&lt;input type=&#8221;submit&#8221; name=&#8221;ctl00$Button1&#8243; value=&#8221;Gönder&#8221; id=&#8221;ctl00_Button1&#8243; /&gt;</p>
<p>Aynı şekilde aynı kontrol master page içerisindeki bir sayfanın içerisinde olursa bu sefer şu şekilde değişir.</p>
<p>&lt;input type=&#8221;submit&#8221; name=&#8221;ctl00$ContentPlaceHolder1$Button1&#8243; value=&#8221;Gönder&#8221; id=&#8221;ctl00_ContentPlaceHolder1_Button1&#8243; /&gt;</p>
<p>Buradaki id ve name bilgisi tamamen kontrolün  kontrolün sunucu tarafındaki konumuna ve konteynerlerin ID bilgisine göre oluşturulur. Bir kontrolün istemci taraındaki id bilgisinin ne olduğu <i>this.Button1.ClientID</i> özelliğiyle, name bilgisi ise <i>this.Button1.UniqueID</i> ile öğrenilir.</p>
<p>Bu kontrollerin postback işlemini gerçekleştirebilmesi için __doPostBack yordamına istemci tarafındaki <b>id</b> bilgisi değil <b>name</b> bilgisinin parametre olarak gönderilmesi gerekir. Oysa bizim yazdığımız JavaScript yordamında <i>__doPostBack(Obj.id,&#8221;);</i> şeklinde kontrolün ID&#8217;si alınmıştır. O zaman bu satırı değiştirmemiz gerekiyor. <i>__doPostBack(Obj.name,&#8221;);</i> şeklinde yaparsak sorun çözülmüş olacak. </p>
<p>Bu arada ASP.NET 2.0 ile birlikte hem scroll konumunu korumak hem de sunucuya daha fazla bilgi göndermek için <b>__doPostBack</b> yordamına alternatif olarak <b>WebForm_DoPostBackWithOptions</b> yordamı geliştirildi. Bu yordamın parametre yapısı şu şekildedir;</p>
<p>WebForm_DoPostBackWithOptions(WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit)) </p>
<p>Ama bu yordama dışarıdan müdahale edemiyoruz. Otomatik olarak postback kontrollerine ekleniyor. Onun için şimdilik <b>__doPostBack</b> yordamına devam edeceğiz. Fakat postback olmayan bir kontrolün postback kontrolü çalıştırmasını sağlayabiliriz.</p>
<p>&lt;a href=&#8221;javascript:;&#8221; onclick=&#8221; ValidateSubmit(Button1);WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;Button1&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, false))&#8221;>TIKLA ve POSTBACK ET&lt;/a&gt;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
