﻿
{"id":3677,"date":"2016-03-13T11:46:05","date_gmt":"2016-03-13T11:46:05","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=3677"},"modified":"2016-03-13T14:53:54","modified_gmt":"2016-03-13T14:53:54","slug":"asp-nette-ispostback-olasi-hatasi-ve-cozumu","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-nette-ispostback-olasi-hatasi-ve-cozumu\/","title":{"rendered":"Asp.NET&#8217;te IsPostBack Olas\u0131 Hatas\u0131 ve \u00c7\u00f6z\u00fcm\u00fc"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<br \/>\nAsp.NET mimarisini \u00f6\u011frenirken ak\u0131lda olu\u015facak \u015femalara anlam kazand\u0131ran Post &#8211; Back olay\u0131n\u0131 tam anlam\u0131yla sindirebilmek olduk\u00e7a \u00f6nemlidir. Asl\u0131nda basit tarzda bir yap\u0131sal anlam ifade etsede, Asp.NET Web Forms mimarisini Asp.NET MVC mimarisinden ay\u0131ran temel noktalardan biri oldu\u011funun fark\u0131ndaysak e\u011fer Post &#8211; Back kavram\u0131n\u0131n bir mimarinin \u00fczerine oturtuldu\u011fu temel oldu\u011funu da anlam\u0131\u015f\u0131z demektir. Asp.NET mimarisinde Post &#8211; Back olay\u0131n\u0131 genellikle IsPostBack \u00f6zelli\u011fi ile kontrol etmekteyiz. Bu yaz\u0131m\u0131zda da IsPostBack kontrol\u00fcn\u00fcn g\u00f6z ard\u0131 edildi\u011fi olas\u0131 bir hata durumuna de\u011finece\u011fim.<\/p>\n<p>\u00d6ncelikle hatam\u0131z\u0131n metinsel halini g\u00f6relim.<\/p>\n<blockquote>\n<p style=\"text-align: center;\"><span style=\"color: #ff0000;\"><em><strong>Ge\u00e7ersiz geri g\u00f6nderme veya geri \u00e7a\u011f\u0131rma ba\u011f\u0131ms\u0131z de\u011fi\u015fkeni. Yap\u0131land\u0131rmada veya sayfada &lt;%@ Page EnableEventValidation=&#8221;true&#8221; %&gt; kullan\u0131larak olay do\u011frulamas\u0131 etkinle\u015ftirildi. Bu \u00f6zellik g\u00fcvenlik nedenleriyle, geri g\u00f6nderme veya geri \u00e7a\u011f\u0131rma olaylar\u0131 ba\u011f\u0131ms\u0131z de\u011fi\u015fkenlerinin bunlar\u0131 ba\u015flang\u0131\u00e7ta i\u015fleyen sunucu denetiminden kaynakland\u0131\u011f\u0131n\u0131 do\u011frular. Veriler ge\u00e7erliyse ve beklendi\u011fi gibiyse, geri g\u00f6nderme veya geri \u00e7a\u011f\u0131rma verilerini do\u011frulanmak \u00fczere kaydetmek i\u00e7in ClientScriptManager.RegisterForEventValidation y\u00f6ntemini kullan\u0131n.<\/strong><\/em><\/span><\/p>\n<\/blockquote>\n<p style=\"text-align: left;\">G\u00f6rsel halide a\u015fa\u011f\u0131daki gibidir.<\/p>\n<div id=\"attachment_3678\" style=\"width: 1376px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.gencayyildiz.com\/blog\/asp-nette-ispostback-olasi-hatasi-ve-cozumu\/asp-nette-ispostback-olasi-hatasi-ve-cozumu\/\" rel=\"attachment wp-att-3678\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3678\" class=\"size-full wp-image-3678\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/03\/Asp.NETte-IsPostBack-Olas\u0131-Hatas\u0131-ve-\u00c7\u00f6z\u00fcm\u00fc.png\" alt=\"Asp.NET'te IsPostBack Olas\u0131 Hatas\u0131 ve \u00c7\u00f6z\u00fcm\u00fc\" width=\"1366\" height=\"584\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/03\/Asp.NETte-IsPostBack-Olas\u0131-Hatas\u0131-ve-\u00c7\u00f6z\u00fcm\u00fc.png 1366w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/03\/Asp.NETte-IsPostBack-Olas\u0131-Hatas\u0131-ve-\u00c7\u00f6z\u00fcm\u00fc-300x128.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/03\/Asp.NETte-IsPostBack-Olas\u0131-Hatas\u0131-ve-\u00c7\u00f6z\u00fcm\u00fc-768x328.png 768w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/03\/Asp.NETte-IsPostBack-Olas\u0131-Hatas\u0131-ve-\u00c7\u00f6z\u00fcm\u00fc-1024x438.png 1024w\" sizes=\"auto, (max-width: 1366px) 100vw, 1366px\" \/><\/a><p id=\"caption-attachment-3678\" class=\"wp-caption-text\">Asp.NET&#8217;te IsPostBack Olas\u0131 Hatas\u0131 ve \u00c7\u00f6z\u00fcm\u00fc<\/p><\/div>\n<p>\u015eimdi bu hatan\u0131n hangi durumlarda? neden al\u0131nd\u0131\u011f\u0131n\u0131? konu\u015fmam\u0131z gerekirse e\u011fer, elimizdeki bir veri k\u00fcmesini herhangi bir veri listeleyicide listeledi\u011fimizde, bu listeleme durumunu IsPostBack kontrol\u00fcyle ger\u00e7ekle\u015ftirmiyorsak bu hatay\u0131 almaktay\u0131z. Bunun sebebi, listeleme i\u015flemi ger\u00e7ekle\u015ftirildikten sonra Server&#8217;a yap\u0131lacak taleplerin bir Post olup olmad\u0131\u011f\u0131n\u0131 denetlememiz gerekti\u011findendir. IsPostBack kontrol\u00fc sayesinde, &#8220;Post &#8211; Back mi? de\u011fil mi?&#8221; sorusuna kar\u015f\u0131l\u0131k ald\u0131\u011f\u0131n\u0131z cevaba g\u00f6re listelemeyi ger\u00e7ekle\u015ftirmeniz daha sa\u011fl\u0131kl\u0131 olacakt\u0131r. E\u011fer Post &#8211; Back de\u011filse sayfa ilk defa a\u00e7\u0131l\u0131yor demektir ve bu durumda listelemeyi ger\u00e7ekle\u015ftirmelisiniz. Yok e\u011fer Post &#8211; Back yap\u0131lm\u0131\u015fsa listelemenin \u00f6nceden yap\u0131ld\u0131\u011f\u0131n\u0131 bilecek ve ona g\u00f6re listeleme i\u015flemini ger\u00e7ekle\u015ftirmeyeceksiniz.<\/p>\n<p>Yukar\u0131daki hatadan kurtulmak i\u00e7in, ilgili veri listeleme komutlar\u0131n\u0131 a\u015fa\u011f\u0131daki gibi IsPostBack kontrol\u00fc i\u00e7erisine alman\u0131z gerekmektedir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            if (!IsPostBack)\r\n            {\r\n                \/\/...\r\n            }\r\n<\/pre>\n<p>\u0130yi \u00e7al\u0131\u015fmalar dilerim&#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>Merhaba, Asp.NET mimarisini \u00f6\u011frenirken ak\u0131lda olu\u015facak \u015femalara anlam kazand\u0131ran Post &#8211; Back olay\u0131n\u0131 tam anlam\u0131yla sindirebilmek olduk\u00e7a \u00f6nemlidir. Asl\u0131nda basit tarzda bir yap\u0131sal anlam ifade etsede, Asp.NET Web Forms mimarisini Asp.NET MVC mimarisinden ay\u0131ran&#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":3223,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[745,936,260,849,484,190,552],"class_list":["post-3677","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asp-net","tag-asp-net","tag-enableeventvalidation","tag-hata","tag-hata-cozumleri","tag-hata-cozumu","tag-ispostback","tag-web-forms"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3677","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=3677"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3677\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3223"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=3677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=3677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=3677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}