﻿
{"id":3212,"date":"2015-08-25T11:47:43","date_gmt":"2015-08-25T11:47:43","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=3212"},"modified":"2015-09-09T22:25:50","modified_gmt":"2015-09-09T22:25:50","slug":"asp-net-mvc-jquery-ile-tabloda-satir-silmek-ve-islem-gerceklestiriliyor-animasyonu-gostermek","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-jquery-ile-tabloda-satir-silmek-ve-islem-gerceklestiriliyor-animasyonu-gostermek\/","title":{"rendered":"Asp.NET MVC &#8211; JQuery ile Tabloda Sat\u0131r Silmek ve \u0130\u015flem Ger\u00e7ekle\u015ftiriliyor Animasyonu G\u00f6stermek"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Listelenmi\u015f bir tablodan JQuery ile nas\u0131l dinamik bir \u015fekilde sat\u0131r silebiliriz?Bu i\u015flemi ger\u00e7ekle\u015ftirirken ilgili sat\u0131rdaki veriyi fiziksel olarak nas\u0131l veritaban\u0131ndan da silebiliriz? gibisinden sorularla \u00e7ok kar\u015f\u0131la\u015f\u0131yoruz.Bu sorulara cevap niteli\u011finde bu makalemizi olu\u015fturmaya karar verdim.O halde ne yapaca\u011f\u0131z biraz de\u011finelim.<\/p>\n<p>Senaryomuz \u015f\u00f6yle olacak.SQL Server&#8217;da &#8220;OkulVT&#8221; isminde \u00f6rnek bir veritaban\u0131 olu\u015fturaca\u011f\u0131z ve bu veritaban\u0131 i\u00e7inde &#8220;Okullar&#8221; isimli bir tablo olacakt\u0131r.Bu tablo i\u00e7erisinde manuel olarak bir ka\u00e7 okul bilgisini tutaca\u011f\u0131z ve bu bilgileri Asp.NET MVC ile bilinen y\u00f6ntemlerle listeleyece\u011fiz.Vee ard\u0131ndan Ajax ile bir yandan tablomuzdaki veriyi fiziksel olarak silerken bir yandan da JQuery ile de bu i\u015flemi listemizde de ger\u00e7ekle\u015ftirece\u011fiz.Tabi ek olarak &#8220;\u0130\u015flem ger\u00e7ekle\u015ftiriliyor&#8221; gibisinden bir aparatta ekleyece\u011fiz.<\/p>\n<p>Hadi ba\u015flayal\u0131m.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3214\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek.png\" alt=\"Asp.NET MVC - JQuery ile Tabloda Sat\u0131r Silmek ve \u0130\u015flem Ger\u00e7ekle\u015ftiriliyor Animasyonu G\u00f6stermek\" width=\"223\" height=\"181\" \/><\/a><br \/>\nVeritaban\u0131m\u0131z\u0131 ve tablomuzu g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi olu\u015fturdum.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3215\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek-2.png\" alt=\"Asp.NET MVC - JQuery ile Tabloda Sat\u0131r Silmek ve \u0130\u015flem Ger\u00e7ekle\u015ftiriliyor Animasyonu G\u00f6stermek - 2\" width=\"459\" height=\"228\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek-2.png 459w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek-2-300x149.png 300w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/a><br \/>\n&#8220;Okullar&#8221; isimli tablomuza sa\u00e7ma sapanda olsa manuel olarak veriler girdim.(Dipnot!, ad\u0131m ad\u0131m sa\u00e7ma sapan okullar\u0131n a\u00e7\u0131ld\u0131\u011f\u0131 memlekette ya\u015fayan birinin b\u00f6yle bir veri \u00f6rneklendirme si gayet normaldir ;))<\/p>\n<p>\u015eimdi &#8220;Home(Controller).cs&#8221; isimli Controller s\u0131n\u0131f\u0131m\u0131zdaki &#8220;Index&#8221; isimli Action metodundan bu verileri \u00e7ekip, &#8220;Index.cshtml&#8221; isimli View dosyas\u0131nda listelememizi ger\u00e7ekle\u015ftirelim.Tabi \u00f6ncelikle Models katman\u0131nda .dbml uzant\u0131l\u0131 dosyam\u0131zla veritaban\u0131n\u0131n projemizle ba\u011flant\u0131s\u0131n\u0131 olu\u015ftural\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public class HomeController : Controller\r\n    {\r\n        public ActionResult Index()\r\n        {\r\n            VeriTabaniDataContext Veri = new VeriTabaniDataContext();\r\n            return View(Veri.Okullars);\r\n        }\r\n    }\r\n<\/pre>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n@using JqueryTable.Models\r\n\r\n@model IEnumerable&lt;Okullar&gt;\r\n\r\n&lt;div id=&quot;Durum&quot;&gt;&lt;\/div&gt;\r\n&lt;table&gt;\r\n    &lt;thead&gt;\r\n        &lt;tr&gt;\r\n            &lt;th&gt;Okul Ad\u0131&lt;\/th&gt;\r\n            &lt;th&gt;Adres&lt;\/th&gt;\r\n            &lt;th&gt;\u0130\u015flemler&lt;\/th&gt;\r\n        &lt;\/tr&gt;\r\n    &lt;\/thead&gt;\r\n    &lt;tbody&gt;\r\n        @foreach (var Okul in Model)\r\n        {\r\n            &lt;tr&gt;\r\n                &lt;td&gt;@Okul.OkulAdi&lt;\/td&gt;\r\n                &lt;td&gt;@Okul.Adres&lt;\/td&gt;\r\n                &lt;td&gt;&lt;a href=&quot;#&quot; class=&quot;Sil&quot; name=&quot;@Okul.ID&quot;&gt;Sil&lt;\/a&gt;&lt;\/td&gt;\r\n            &lt;\/tr&gt;\r\n        }\r\n    &lt;\/tbody&gt;\r\n&lt;\/table&gt;\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funun ekran \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6stermeden \u00f6nce dikkatinizi \u00e7ekmem gereken bir husus var.Dikkat ederseniz e\u011fer \u015fu ana kadar klasik bir Asp.NET MVC yap\u0131s\u0131 kullan\u0131p listeleme i\u015flemi ger\u00e7ekle\u015ftirmi\u015f olduk.Buraya kadar makalemizin i\u00e7eri\u011fi amac\u0131ndan olduk\u00e7a ba\u011f\u0131ms\u0131z.Ama burada \u00f6nemli bir husus var ki, her sat\u0131rdaki &lt;a&#8230;&gt; &lt;\/a&gt; html etiketinde class=&#8221;Sil&#8221; komutu mevcuttur.Biz birazdan JQuery ile t\u0131klanan sat\u0131ra bu komuttaki &#8220;Sil&#8221; verisi ile eri\u015fece\u011fiz ve name \u00f6zelli\u011fine verdi\u011fimiz ID de\u011ferleriyle de hangi veri oldu\u011funu programatik olarak elde edebilece\u011fiz.id de\u011feri &#8220;Durum&#8221; olan div tag\u0131nada son durum bildirisini yay\u0131nlayaca\u011f\u0131z.<\/p>\n<p>Evet, bu a\u00e7\u0131klamadan sonra yukar\u0131daki listeninde ekran g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc getirmek farz oldu.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3217\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek-3.png\" alt=\"Asp.NET MVC - JQuery ile Tabloda Sat\u0131r Silmek ve \u0130\u015flem Ger\u00e7ekle\u015ftiriliyor Animasyonu G\u00f6stermek - 3\" width=\"398\" height=\"215\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek-3.png 398w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/08\/Asp.NET-MVC-JQuery-ile-Tabloda-Sat\u0131r-Silmek-ve-\u0130\u015flem-Ger\u00e7ekle\u015ftiriliyor-Animasyonu-G\u00f6stermek-3-300x162.png 300w\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" \/><\/a><\/p>\n<p>Art\u0131k b\u00fct\u00fcn i\u015flemlerimiz bu yap\u0131 \u00fczerinde ger\u00e7ekle\u015fecektir.<\/p>\n<p>\u00d6ncelikle Ajax ile t\u0131klanan sat\u0131rdaki veriyi veritaban\u0131ndan silelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n    $(document).ready(function () {\r\n        $(&quot;.Sil&quot;).click(function () {\r\n            \/\/Herhangi bir sat\u0131rdaki &lt;a..&gt; &lt;\/a&gt; tag\u0131 t\u0131kland\u0131\u011f\u0131 zaman tetiklenecek olan metotdur.\r\n            if (confirm(&quot;Okulu silmek istedi\u011finizden emin misiniz?&quot;)) {\r\n                var ID = $(this).attr('name');\r\n                \/\/T\u0131klanan ilgili linkin name \u00f6zelli\u011findeki ID de\u011ferini \u00e7ekiyoruz.\r\n                $.ajax({\r\n                    url: '\/Home\/Sil\/' + ID,\/\/Ajax ile tetiklenecek ilgili adresi belirliyoruz.\r\n                    type: 'POST',\r\n                    dataType: 'json',\r\n                    success: function (data) {\r\n                        $(&quot;#Durum&quot;).html(data);\r\n                        \/\/Gelen Json veriyi ilgili taga yerle\u015ftiriyoruz.\r\n                    }\r\n                });\r\n            }\r\n        });\r\n    });\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>Evet, yukar\u0131daki kod blo\u011fu sayesinde t\u0131klad\u0131\u011f\u0131m\u0131z sat\u0131rdaki veri, veritaban\u0131ndan Ajax ile Post edilerek ba\u015far\u0131l\u0131 bir \u015fekilde silinmektedir.<\/p>\n<p>&#8220;Home(Controller).cs&#8221; isimli Controller s\u0131n\u0131f\u0131m\u0131zdaki &#8220;Sil&#8221; Action&#8217;\u0131n\u0131n i\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        &#x5B;HttpPost]\r\n        public JsonResult Sil(int id)\r\n        {\r\n            VeriTabaniDataContext Veri = new VeriTabaniDataContext();\r\n            Okullar Okul = Veri.Okullars.FirstOrDefault(o =&gt; o.ID == id);\r\n            Veri.Okullars.DeleteOnSubmit(Okul);\r\n            Veri.SubmitChanges();\r\n            return Json(&quot;&lt;strong&gt;&quot; + Okul.OkulAdi + &quot;&lt;\/strong&gt; isimli okul ba\u015far\u0131yla silinmi\u015ftir.&quot;, JsonRequestBehavior.AllowGet);\r\n        }\r\n<\/pre>\n<p>Yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi Sil metodu geriye JsonResult tipinden de\u011fer d\u00f6nen bir metottur.Haliyle, bu Ajax i\u015flemi neticesinde geriye bir Json veri format\u0131 d\u00f6nmekte ve biz success fonksiyonu ile o veriyi elde etmekteyiz.<\/p>\n<p>\u015eimdi s\u0131ra geldi, sildi\u011fimiz sat\u0131r\u0131 listeden de silmeye.<\/p>\n<p>Bu i\u015flemide,<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n$(this).parent('td').parent('tr').remove();\r\n<\/pre>\n<p>komutu ile halledece\u011fiz.<\/p>\n<p>Bu komut, o anda t\u0131klanan &lt;a..&gt; &lt;\/a&gt; tag\u0131n\u0131n i\u00e7inde bulundu\u011fu sat\u0131r\u0131 temsil etmektedir.Sadece &lt;a..&gt; &lt;\/a&gt; tag\u0131 i\u00e7in ge\u00e7erli de\u011fildir tabi.Herhangi t\u0131klanan bir html nesneside olabilir.\u0130lgili nesnenin bulundu\u011fu td ve tr taglar\u0131n\u0131 aray\u0131p silme i\u015flevi g\u00f6recektir.<\/p>\n<p>Bu komutu Ajax ile veritaban\u0131ndan ilgili verimizi sildikten sonra \u00e7a\u011f\u0131rmam\u0131z gerekmektedir.Aksi taktirde veri silinme a\u015famas\u0131nda bir problem do\u011farsa ilgili veri tablodan silinmi\u015f olarak g\u00f6r\u00fclebilir.<\/p>\n<p>\u015eimdi script komutlar\u0131m\u0131z\u0131 a\u015fa\u011f\u0131daki gibi g\u00fcncelleyelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n    $(document).ready(function () {\r\n        $(&quot;.Sil&quot;).click(function () {\r\n            \/\/Herhangi bir sat\u0131rdaki &lt;a..&gt; &lt;\/a&gt; tag\u0131 t\u0131kland\u0131\u011f\u0131 zaman tetiklenecek olan metotdur.\r\n            if (confirm(&quot;Okulu silmek istedi\u011finizden emin misiniz?&quot;)) {\r\n                var ID = $(this).attr('name');\r\n                \/\/T\u0131klanan ilgili linkin name \u00f6zelli\u011findeki ID de\u011ferini \u00e7ekiyoruz.\r\n                $.ajax({\r\n                    url: '\/Home\/Sil\/' + ID,\/\/Ajax ile tetiklenecek ilgili adresi belirliyoruz.\r\n                    type: 'POST',\r\n                    dataType: 'json',\r\n                    success: function (data) {\r\n                        $(&quot;#Durum&quot;).html(data);\r\n                        \/\/Gelen Json veriyi ilgili taga yerle\u015ftiriyoruz.\r\n                    }\r\n                });\r\n\r\n                $(this).parent('td').parent('tr').remove();\r\n                \/\/Ajax i\u015flemi ba\u015far\u0131yla sonu\u00e7land\u0131ktan sonra ilgili sat\u0131r\u0131 bu komut ile siliyoruz.\r\n            }\r\n        });\r\n    });\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>Evet, bu i\u015flemlerden sonra gelelim yaz\u0131m\u0131z\u0131n bonusu olan &#8220;\u0130\u015flem ger\u00e7ekle\u015ftiriliyor&#8221; mesaj\u0131n\u0131 vermeye.Bu i\u015flemi Ajax komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131yorken yapmam\u0131z a\u015fikard\u0131r.Nihayetinde Server i\u015flemleri Ajax komutlar\u0131m\u0131z\u0131n aktif oldu\u011fu anlar demektir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;div id=&quot;wait&quot; style=&quot;display:none;width:133px;height:25px;border:0 solid black;position:absolute;top:50%;left:50%;padding:2px;text-align:center;&quot;&gt;\r\n    &lt;img src=&quot;~\/Content\/IslemYapiliyor.gif&quot; \/&gt;&lt;br&gt;\u0130\u015fleniyor...&lt;\/div&gt;\r\n<\/pre>\n<p>&#8220;\u0130\u015flem ger\u00e7ekle\u015ftiriliyor&#8221; mesaj\u0131n\u0131 verece\u011fimiz pencerenin html komutunu bu \u015fekilde ayarlayabiliriz.Tabi siz istedi\u011finiz gibi de\u011fi\u015ftirebilir, sitenizin k\u0131l\u0131f\u0131na uydurabilirsiniz.Ben bunu se\u00e7tim.Bu komutu &#8220;Index.cshtml&#8221; sayfam\u0131z\u0131n herhangi bir yerine koymam\u0131z gerekmektedir.\u00d6rnek olarak &#8220;Index.cshtml&#8221; sayfam\u0131z\u0131 a\u015fa\u011f\u0131daki g\u00fcncelledim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n@using JqueryTable.Models\r\n\r\n@model IEnumerable&lt;Okullar&gt;\r\n\r\n&lt;div id=&quot;Durum&quot;&gt;&lt;\/div&gt;\r\n&lt;table&gt;\r\n    &lt;thead&gt;\r\n        &lt;tr&gt;\r\n            &lt;th&gt;Okul Ad\u0131&lt;\/th&gt;\r\n            &lt;th&gt;Adres&lt;\/th&gt;\r\n            &lt;th&gt;\u0130\u015flemler&lt;\/th&gt;\r\n        &lt;\/tr&gt;\r\n    &lt;\/thead&gt;\r\n    &lt;tbody&gt;\r\n        @foreach (var Okul in Model)\r\n        {\r\n            &lt;tr&gt;\r\n                &lt;td&gt;@Okul.OkulAdi&lt;\/td&gt;\r\n                &lt;td&gt;@Okul.Adres&lt;\/td&gt;\r\n                &lt;td&gt;&lt;a href=&quot;#&quot; class=&quot;Sil&quot; name=&quot;@Okul.ID&quot;&gt;Sil&lt;\/a&gt;&lt;\/td&gt;\r\n            &lt;\/tr&gt;\r\n        }\r\n    &lt;\/tbody&gt;\r\n&lt;\/table&gt;\r\n&lt;div id=&quot;wait&quot; style=&quot;display:none;width:133px;height:25px;border:0 solid black;position:absolute;top:50%;left:50%;padding:2px;text-align:center;&quot;&gt;\r\n    &lt;img src=&quot;~\/Content\/IslemYapiliyor.gif&quot; \/&gt;&lt;br&gt;\u0130\u015fleniyor...\r\n&lt;\/div&gt;\r\n<\/pre>\n<p>Bu komut ilk a\u015famada g\u00f6z\u00fckmeyecektir.Ajax komutlar\u0131 devreye girdi\u011fi zaman bunu aktifle\u015ftirebilmek i\u00e7in a\u015fa\u011f\u0131daki g\u00fcncellemeyi yapal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;script type=&quot;text\/javascript&quot;&gt;\r\n    $(document).ready(function () {\r\n        $(&quot;.Sil&quot;).click(function () {\r\n            \/\/Herhangi bir sat\u0131rdaki &lt;a..&gt; &lt;\/a&gt; tag\u0131 t\u0131kland\u0131\u011f\u0131 zaman tetiklenecek olan metotdur.\r\n            if (confirm(&quot;Okulu silmek istedi\u011finizden emin misiniz?&quot;)) {\r\n                var ID = $(this).attr('name');\r\n                \/\/T\u0131klanan ilgili linkin name \u00f6zelli\u011findeki ID de\u011ferini \u00e7ekiyoruz.\r\n                $.ajax({\r\n                    url: '\/Home\/Sil\/' + ID,\/\/Ajax ile tetiklenecek ilgili adresi belirliyoruz.\r\n                    type: 'POST',\r\n                    dataType: 'json',\r\n                    success: function (data) {\r\n                        $(&quot;#Durum&quot;).html(data);\r\n                        \/\/Gelen Json veriyi ilgili taga yerle\u015ftiriyoruz.\r\n                    }\r\n                });\r\n\r\n                $(this).parent('td').parent('tr').remove();\r\n                \/\/Ajax i\u015flemi ba\u015far\u0131yla sonu\u00e7land\u0131ktan sonra ilgili sat\u0131r\u0131 bu komut ile siliyoruz.\r\n            }\r\n        });\r\n        $(document).ajaxStart(function () {\r\n            $(&quot;#wait&quot;).css(&quot;display&quot;, &quot;block&quot;);\r\n        });\r\n        $(document).ajaxComplete(function () {\r\n            $(&quot;#wait&quot;).css(&quot;display&quot;, &quot;none&quot;);\r\n        });\r\n    });\r\n&lt;\/script&gt;\r\n<\/pre>\n<p>Dikkat ederseniz e\u011fer,<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        $(document).ajaxStart(function () {\r\n            $(&quot;#wait&quot;).css(&quot;display&quot;, &quot;block&quot;);\r\n        });\r\n<\/pre>\n<p>ve<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        $(document).ajaxComplete(function () {\r\n            $(&quot;#wait&quot;).css(&quot;display&quot;, &quot;none&quot;);\r\n        });\r\n<\/pre>\n<p>komutlar\u0131yla Ajax i\u015flemlerinin ba\u015flay\u0131p(ajaxStart) bitti\u011fi(ajaxComplete) anda i\u015flem yapabiliyoruz.Tabi, &#8220;\u0130\u015flem ger\u00e7ekle\u015ftiriliyor&#8221; mesaj\u0131n\u0131n g\u00f6z\u00fckme zarf\u0131 yapt\u0131\u011f\u0131m\u0131z server i\u015flerinin y\u00fck\u00fcne ba\u011fl\u0131d\u0131r.Ee haliyle biz hem localde \u00e7al\u0131\u015f\u0131yoruz hem de iki sat\u0131r kodun i\u015fleyi\u015fini g\u00f6stermeye \u00e7al\u0131\u015f\u0131yoruz.O y\u00fczden Thread.Sleep(5000); komutu sayesinde i\u015flem ak\u0131\u015f\u0131n\u0131 uzatabilir ve ilgili pencereyi net bir \u015fekilde g\u00f6rebilirsiniz.<\/p>\n<p>B\u00fct\u00fcn proje bu kadar.A\u015fa\u011f\u0131daki videodan makalemizde bahsetti\u011fimiz sistemin genel \u00e7al\u0131\u015fma halini izleyip g\u00f6rebilirsiniz.<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/ot-5JTe1Rbk\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Bol bol faydalanman\u0131z dile\u011fiyle&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar diliyorum&#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>Listelenmi\u015f bir tablodan JQuery ile nas\u0131l dinamik bir \u015fekilde sat\u0131r silebiliriz?Bu i\u015flemi ger\u00e7ekle\u015ftirirken ilgili sat\u0131rdaki veriyi fiziksel olarak nas\u0131l veritaban\u0131ndan da silebiliriz? gibisinden sorularla \u00e7ok kar\u015f\u0131la\u015f\u0131yoruz.Bu sorulara cevap niteli\u011finde bu makalemizi olu\u015fturmaya karar verdim.O&#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":3014,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,11,600,18,19,780],"tags":[744,763,762,746,265,748,283],"class_list":["post-3212","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ajax","category-asp-net-mvc","category-asp-net-mvc-5","category-javascript","category-jquery","category-json","tag-ajax","tag-ajaxcomplete","tag-ajaxstart","tag-asp-net-mvc","tag-javascript-2","tag-jquery","tag-mvc"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3212","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=3212"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3212\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3014"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=3212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=3212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=3212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}