﻿
{"id":383,"date":"2012-04-05T08:06:13","date_gmt":"2012-04-05T08:06:13","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=383"},"modified":"2012-04-19T21:16:54","modified_gmt":"2012-04-19T21:16:54","slug":"asp-net-ispostback-ve-autopostback","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-ispostback-ve-autopostback\/","title":{"rendered":"Asp.NET IsPostBack ve AutoPostBack"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Asp.NET sayfalar\u0131n\u0131n ilk defam\u0131 y\u00fcklendi\u011fi yoksa serverdan Post mu edildi\u011fini anlamak i\u00e7in Page nesnesinin bir \u00f6zelli\u011fi olan IsPostBack \u00f6zelli\u011fi kullan\u0131l\u0131r.Sayfaya , &#8220;Sayfa, servera postalan\u0131p geri geldi mi?&#8221; sorusunu sorar.Bazen sayfan\u0131n ilk y\u00fcklendi\u011finde \u00e7al\u0131\u015fmas\u0131n\u0131 istedi\u011fimiz kodlarda, IsPostBack \u00f6zelli\u011fini kullan\u0131yoruz.IsPostBack \u00f6zelli\u011fi,bool tipinde geriye de\u011fer d\u00f6ner.Sayfa ilk defa a\u00e7\u0131ld\u0131ysa False,servera postalan\u0131p geri geldiyse(butona t\u0131klamak gibi) True de\u011feri d\u00f6necektir.<br \/>\n<!--more--><br \/>\n\u015eimdi IsPostBack&#8217;in neden kullan\u0131ld\u0131\u011f\u0131n\u0131 daha a\u00e7\u0131k bir \u015fekilde anlatmak i\u00e7in bir \u00f6rnek yapal\u0131m.Sayfam\u0131za bir DropDownList ve Button ekleyelim.Sayfan\u0131n Page_Load event\u0131na gelip,DropDownList&#8217;e elemanlar\u0131 ekleyelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    protected void Page_Load(object sender, EventArgs e)\r\n    {\r\n        DropDownList1.Items.Add(new ListItem(&quot;Ankara&quot;,&quot;0&quot;));\r\n        DropDownList1.Items.Add(new ListItem(&quot;\u0130stanbul&quot;, &quot;1&quot;));\r\n        DropDownList1.Items.Add(new ListItem(&quot;\u0130zmir&quot;, &quot;2&quot;));\r\n        DropDownList1.Items.Add(new ListItem(&quot;Konya&quot;, &quot;3&quot;));\r\n    }\r\n<\/pre>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/IsPostBack1.png\"><img loading=\"lazy\" decoding=\"async\" title=\"IsPostBack\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/IsPostBack1.png\" alt=\"\" width=\"150\" height=\"99\" \/><\/a><\/p>\n<p>Sayfan\u0131n ilk a\u00e7\u0131l\u0131\u015f hali yukardaki gibi olacakt\u0131r.\u015eimdi Button nesnemize bir kere t\u0131klayal\u0131m. \ud83d\ude42<\/p>\n<table>\n<tbody>\n<tr>\n<td><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/IsPostBack2.png\"><img loading=\"lazy\" decoding=\"async\" title=\"IsPostBack2\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/IsPostBack2.png\" alt=\"\" width=\"145\" height=\"157\" \/><\/a><\/td>\n<td>\u00a0G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi sayfaya ilk y\u00fcklendi\u011fi zaman 4 eleman\u0131 bulunan DropDownList,sayfa Post Back edildi\u011finde eleman say\u0131s\u0131n\u0131 8e \u00e7\u0131kartt\u0131 :)Her Button nesnesine t\u0131kland\u0131\u011f\u0131nda bu \u015fekilde eleman say\u0131s\u0131 artacakt\u0131r.Son kez g\u00f6rmek i\u00e7in Button nesnesine bir kere daha bas\u0131lm\u0131\u015f halini a\u015fa\u011f\u0131da yay\u0131nl\u0131yorum.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/IsPostBack3.png\"><img loading=\"lazy\" decoding=\"async\" title=\"IsPostBack3\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/04\/IsPostBack3.png\" alt=\"\" width=\"136\" height=\"220\" \/><\/a><\/td>\n<td>Button nesnesine bir kere daha t\u0131klad\u0131m, d\u00f6rt eleman daha eklenmi\u015f oldu.\u015eimdi bu durumun sebebi nedir ve IsPostBack \u00f6zelli\u011fi neden ve nas\u0131l devreye giriyor bunu g\u00f6relim.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Sayfa ilk talep edildi\u011finde, Page_Load metodu \u00e7al\u0131\u015fmaktad\u0131r.Do\u011fal olarak bu metod sayesinde,DropDownList nesnemize elemanlar y\u00fckleniyor.Sonra Button nesnesine t\u0131klad\u0131\u011f\u0131m\u0131z zaman,sayfam\u0131z servera gidip geliyor(Post &#8211; Back).Geldi\u011fi zaman(yani Back oldu\u011funda) sayfam\u0131z yeniden y\u00fckleniyor do\u011fal olarak.Bu durumda DropDownList nesnesine elemanlar tekrardan ekleniyor.<br \/>\n<em>D\u0130KKAT !!! Asp.NET kontrolleri servera gidip gelirken \u00fczerlerindeki veriyi korurlar.<\/em><br \/>\n\u0130\u015fte bu sebepten dolay\u0131,yani DropDownList nesnemiz servera gidip gelirken \u00fczerindeki veriyi korudu\u011fundan dolay\u0131,Post-Back i\u015fleminde,korudu\u011fu verilerin \u00fczerine Page_Load metoduyla di\u011fer elemanlar\u0131da ekliyor.<br \/>\nIsPostBack metodu sayfa ilk a\u00e7\u0131ld\u0131\u011f\u0131nda False,Post &#8211; Back edildi\u011finde True d\u00f6ner demi\u015ftik.\u0130\u015fte bu olas\u0131 durumu engellemek i\u00e7in IsPostBack \u00f6zelli\u011fini kullanaca\u011f\u0131z.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    protected void Page_Load(object sender, EventArgs e)\r\n    {\r\n        if (!Page.IsPostBack)\r\n        {\r\n            DropDownList1.Items.Add(new ListItem(&quot;Ankara&quot;, &quot;0&quot;));\r\n            DropDownList1.Items.Add(new ListItem(&quot;\u0130stanbul&quot;, &quot;1&quot;));\r\n            DropDownList1.Items.Add(new ListItem(&quot;\u0130zmir&quot;, &quot;2&quot;));\r\n            DropDownList1.Items.Add(new ListItem(&quot;Konya&quot;, &quot;3&quot;));\r\n        }\r\n    }\r\n<\/pre>\n<p>Yukar\u0131daki kontrol ile e\u011fer sayfa ilk defa y\u00fckleniyorsa elemanlar DropDownList nesnemize doldurulacakt\u0131r.Post &#8211; Back i\u015flemlerinde Page_Load metodu \u00e7al\u0131\u015facakt\u0131r ancak IsPostBack True d\u00f6nece\u011finden dolay\u0131, yapt\u0131\u011f\u0131m\u0131z kontrol DropDownList&#8217;in yeniden do\u011fmas\u0131na m\u00fcsade etmeyecektir.<br \/>\nIsPostBack \u00f6zelli\u011fi hakk\u0131nda son olarak de\u011finmem gereken bir ka\u00e7 unsur var.<\/p>\n<ul>\n<li>&lt;a &#8230;&gt; &lt;\/a&gt; tag\u0131,sayfaya yeni bir istek g\u00f6nderir.Sunucuya sayfa g\u00f6nderip geri getirmez.\u0130ste\u011fi \u00fczerine sayfa geldi\u011finden dolay\u0131 IsPostPage \u00f6zelli\u011fi False d\u00f6necektir.<\/li>\n<li>Sayfan\u0131n refresh(yenileme) edilmesi,son yap\u0131lan iste\u011fin tekrarlanmas\u0131 demektir.Son yap\u0131lan istek Post &#8211; Back ise, refresh yap\u0131nca yine Post &#8211; Back olur.E\u011fer de\u011filse, refresh yap\u0131nca Post &#8211; Back olmaz.<\/li>\n<\/ul>\n<hr \/>\n<p>\u015eimdide <strong>AutoPostBack<\/strong> \u00f6zelli\u011fine de\u011finelim.DropDownList nesnemizden bir eleman se\u00e7ti\u011fimiz zaman,CheckBox&#8217;\u0131m\u0131za t\u0131klad\u0131\u011f\u0131m\u0131z zaman,RadioButton t\u0131kland\u0131\u011f\u0131 zaman e\u011fer sayfan\u0131n Post &#8211; Back olmas\u0131n\u0131 istiyorsak,o nesnenin AutoPostBack \u00f6zelli\u011fini True yapmam\u0131z yeterlidir.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek dile\u011fiyle \ud83d\ude42<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Asp.NET sayfalar\u0131n\u0131n ilk defam\u0131 y\u00fcklendi\u011fi yoksa serverdan Post mu edildi\u011fini anlamak i\u00e7in Page nesnesinin bir \u00f6zelli\u011fi olan IsPostBack \u00f6zelli\u011fi kullan\u0131l\u0131r.Sayfaya , &#8220;Sayfa, servera postalan\u0131p geri geldi mi?&#8221; sorusunu sorar.Bazen sayfan\u0131n ilk y\u00fcklendi\u011finde \u00e7al\u0131\u015fmas\u0131n\u0131 istedi\u011fimiz&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[191,190],"class_list":["post-383","post","type-post","status-publish","format-standard","hentry","category-asp-net","tag-autopostback","tag-ispostback"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=383"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/383\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}