﻿
{"id":4445,"date":"2016-06-11T15:47:03","date_gmt":"2016-06-11T15:47:03","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=4445"},"modified":"2016-06-11T15:47:03","modified_gmt":"2016-06-11T15:47:03","slug":"asp-nette-ajax-ile-post-islemi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-nette-ajax-ile-post-islemi\/","title":{"rendered":"Asp.NET&#8217;te Ajax \u0130le Post \u0130\u015flemi"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Asp.NET Web Form uygulamalar\u0131nda Ajax ile post i\u015flemleri i\u00e7in genellikle UpdatePanel kullanmaktay\u0131z. Lakin bu i\u00e7eri\u011fimizde UpdatePanel gibi Ajax Componentlerini i\u015fimize alet etmeden saf bir manuel kodlamayla bu i\u015flem nas\u0131l ger\u00e7ekle\u015ftiriliyor inceliyor olaca\u011f\u0131z.<\/p>\n<p>Mevzu bahis Asp.NET Web Form mimarisi oldu\u011fu i\u00e7in Asp.NET MVC mimarisine \u00f6zel yazd\u0131\u011f\u0131m makalelerdeki mant\u0131kta hareket etmeyece\u011fimizi \u015fimdiden bildirmekte fayda var.<\/p>\n<p>\u0130lk olarak yapmam\u0131z gereken post i\u015flemini ger\u00e7ekle\u015ftirece\u011fimiz .aspx sayfas\u0131nda postu kar\u015f\u0131layacak olan metodu olu\u015fturmakt\u0131r. Ama bu metodu olu\u015ftururken dikkat etmemiz gereken husus \u015fudur ki;<\/p>\n<ul>\n<li><em><strong>System.Web.Services<\/strong><\/em> k\u00fct\u00fcphanesindeki <em><strong>WebMethod<\/strong><\/em> Attribute&#8217;u ile i\u015faretlenmeli,<\/li>\n<li><em>static<\/em> yap\u0131da olmal\u0131d\u0131r.<\/li>\n<\/ul>\n<p>Aksi taktirde Asp.NET Web Forms mimarisinde ilgili metodu Ajax ile post yaparken tetikletmemiz m\u00fcmk\u00fcn olmayacakt\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public partial class Ornek : System.Web.UI.Page\r\n    {\r\n        &#x5B;System.Web.Services.WebMethod]\r\n        public static string OrnekPost(string parametre)\r\n        {\r\n            return parametre + &quot; de\u011feriyle post i\u015flemi ger\u00e7ekle\u015ftirildi.&quot;;\r\n        }\r\n    }\r\n<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi postu kar\u015f\u0131layacak metodumuz haz\u0131r. \u015eimdi Ajax k\u0131sm\u0131n\u0131 in\u015fa edebiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        &lt;img src=&quot;http:\/\/icons.iconarchive.com\/icons\/paomedia\/small-n-flat\/24\/sign-check-icon.png&quot; id=&quot;btnGonder&quot; \/&gt;\r\n        &lt;script type=&quot;text\/javascript&quot;&gt;\r\n            $(document).ready(function () {\r\n                $(&quot;#btnGonder&quot;).click(function () {\r\n                    $.ajax({\r\n                        url: 'Ornek.aspx\/OrnekPost',\r\n                        dataType: 'json',\r\n                        type: 'POST',\r\n                        data: &quot;{'parametre': '1234'}&quot;,\r\n                        contentType: 'application\/json; charset=utf-8',\r\n                        success: function (data) {\r\n                            alert(data.d);\r\n                        }\r\n                    });\r\n                });\r\n            });\r\n        &lt;\/script&gt;\r\n<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi Ajax i\u015flemleri i\u00e7inde bu \u015fekilde kodlama yeterlidir. Burada dikkatini &#8220;data&#8221; ve &#8220;contentType&#8221; parametrelerine \u00e7ekmek istiyorum. &#8220;data&#8221; parametresinde bildi\u011fimiz kullan\u0131ma nazaran tek t\u0131rnak (&#8216;) i\u00e7erisinde parametre ad\u0131n\u0131 yaz\u0131p, ard\u0131ndan gene ayn\u0131 \u015fekilde de\u011ferini vermekteyiz. &#8220;contentType&#8221; \u00f6zelli\u011fi ise post i\u015flemi neticesinde back ger\u00e7ekle\u015fecek ve Compiler&#8217;\u0131n derledi\u011fi html \u00e7\u0131kt\u0131 bizlere g\u00f6nderilecektir. Heh i\u015fte o html yerine metotda geriye g\u00f6nderilen veriyi json olarak elde etmek istedi\u011fimizi belirtmekteyiz. Gelen bu json de\u011feri success parametresinin data parametresindeki &#8220;d&#8221; propertysiyle kar\u015f\u0131layaca\u011f\u0131z. Bu d \u00f6zelli\u011fi yap\u0131sal olarak dinamik olu\u015fturulacakt\u0131r.<\/p>\n<div id=\"attachment_4447\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/06\/Asp.NETte-Ajax-\u0130le-Post-\u0130\u015flemi.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4447\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/06\/Asp.NETte-Ajax-\u0130le-Post-\u0130\u015flemi-300x70.jpg\" alt=\"Asp.NET&#039;te Ajax \u0130le Post \u0130\u015flemi\" width=\"300\" height=\"70\" class=\"size-medium wp-image-4447\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/06\/Asp.NETte-Ajax-\u0130le-Post-\u0130\u015flemi-300x70.jpg 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/06\/Asp.NETte-Ajax-\u0130le-Post-\u0130\u015flemi.jpg 322w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-4447\" class=\"wp-caption-text\">Asp.NET&#8217;te Ajax \u0130le Post \u0130\u015flemi<\/p><\/div>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<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>Merhaba, Asp.NET Web Form uygulamalar\u0131nda Ajax ile post i\u015flemleri i\u00e7in genellikle UpdatePanel kullanmaktay\u0131z. Lakin bu i\u00e7eri\u011fimizde UpdatePanel gibi Ajax Componentlerini i\u015fimize alet etmeden saf bir manuel kodlamayla bu i\u015flem nas\u0131l ger\u00e7ekle\u015ftiriliyor inceliyor olaca\u011f\u0131z. Mevzu&#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":3434,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[744,745,748,1228,349,552,1229],"class_list":["post-4445","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asp-net","tag-ajax","tag-asp-net","tag-jquery","tag-system-web-services","tag-updatepanel","tag-web-forms","tag-webmethod"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/4445","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=4445"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/4445\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3434"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=4445"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=4445"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=4445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}