﻿
{"id":2037,"date":"2013-08-27T07:03:03","date_gmt":"2013-08-27T07:03:03","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=2037"},"modified":"2013-08-27T07:03:03","modified_gmt":"2013-08-27T07:03:03","slug":"asp-net-mvc-razorda-html-etiketlerini-farkli-if-bloklarinda-kapatip-acmak","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-razorda-html-etiketlerini-farkli-if-bloklarinda-kapatip-acmak\/","title":{"rendered":"Asp.NET MVC Razor&#8217;da HTML Etiketlerini Farkl\u0131 \u0130f Bloklar\u0131nda Kapat\u0131p A\u00e7mak"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Asp.NET MVC Razor mimarisiyle \u00e7al\u0131\u015f\u0131rken listeleme i\u015flemlerini genellikle prosed\u00fcrel d\u00f6ng\u00fcler kullanarak, HTML taglar\u0131n\u0131 tekrarlay\u0131p ger\u00e7ekle\u015ftiriyoruz.Bazen tekrarlanan(Repeat) HTML kontrollerinin ba\u015flang\u0131\u00e7 ve biti\u015f etiketlerini if \u015fartlar\u0131yla kontrol edip, duruma g\u00f6re yazd\u0131rma i\u015flemi yap\u0131yoruz.\u0130\u015fte bu durumda olas\u0131 bir hatayla kar\u015f\u0131la\u015f\u0131yoruz ve derleyicimiz if scope(k\u00f6\u015feli parantezler)&#8217;lar\u0131n\u0131 bir anda pasifle\u015ftiriyor.Konumuza en iyi a\u00e7\u0131klamay\u0131 bu \u00f6rneklendirmeyle yapabilece\u011fimden dolay\u0131 ve \u015fahsen bu \u015fekilde \u00e7al\u0131\u015f\u0131rken bu olas\u0131 durumla kar\u015f\u0131 kar\u015f\u0131ya kald\u0131\u011f\u0131mdan dolay\u0131 mevzuyu bu \u015fekilde prototiplendirmeyi uygun g\u00f6rd\u00fcm.\u015eimdi gelin bu hatay\u0131 g\u00f6relim ve \u00e7\u00f6z\u00fcm\u00fcn\u00fc beraber inceleyelim.<br \/>\n<!--more--><br \/>\nBurada \u00f6rneklendirme yapt\u0131\u011f\u0131m kodlarda algoritmik mant\u0131ktan ziyade konunun ana temas\u0131na de\u011findi\u011fim fikre odaklanman\u0131z\u0131 tavsiye ediyorum.<\/p>\n<p>\u00d6ncelikle a\u015fa\u011f\u0131daki kod blo\u011funu inceleyelim.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2039\" alt=\"Kod1\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod1-300x146.png\" width=\"300\" height=\"146\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod1-300x146.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod1.png 478w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nBu kod blo\u011fundaki durumu izah etmem gerekirse, for d\u00f6ng\u00fcs\u00fcn\u00fcn i\u015flevi neticesinde if kontrolleriyle &#8220;Sayac&#8221; de\u011fi\u015fkenimiz kontrol ediliyor ve \u015fart\u0131n do\u011fru olmas\u0131 durumunda &#8220;&lt;div&gt; &lt;\/div&gt;&#8221; kontrolleri aras\u0131nda bir yaz\u0131 yazd\u0131r\u0131l\u0131yor.<\/p>\n<p>\u015eimdi ise a\u015fa\u011f\u0131daki kod blo\u011funu inceleyelim.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2040\" alt=\"Kod2\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod2-300x223.png\" width=\"300\" height=\"223\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod2-300x223.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod2.png 330w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nBu kod blo\u011funda ise, for d\u00f6ng\u00fcs\u00fc i\u015flevdeyken &#8220;Sayac&#8221; isimli de\u011fi\u015fkenimiz 1 de\u011ferine sahip oldu\u011fu zaman &#8220;&lt;div&gt;&#8221; etiketini a\u00e7\u0131yoruz ve di\u011fer durumlarda &#8220;&lt;\/div&gt;&#8221; etiketini kapatarak araya yaz\u0131m\u0131z\u0131 yazd\u0131rmaya \u00e7al\u0131\u015f\u0131yoruz.Lakin g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi derleyici bu i\u015fleme izin vermemekte ve if \u015fart\u0131n\u0131n else blo\u011funun scopelar\u0131n\u0131 pasif hale getiriyor.\u0130\u015fte bu olas\u0131 hatadan kurtulman\u0131n birden fazla y\u00f6ntemi mevcuttur ama ben size en sa\u011fl\u0131kl\u0131 y\u00f6ntemi g\u00f6sterece\u011fim.(<span style=\"font-size: x-small;\"><em>Not: Bu arada kod bloglar\u0131ndaki Sayac de\u011fi\u015fkenin de\u011ferini d\u00f6ng\u00fcde birer birer artt\u0131rmam gerekti\u011fini unutmu\u015fum.Bu ahval \u00e7ok \u00f6nemli de\u011fildir.<\/em><\/span>)<\/p>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod3-300x219.png\" alt=\"Kod3\" width=\"300\" height=\"219\" class=\"aligncenter size-medium wp-image-2041\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod3-300x219.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2013\/08\/Kod3.png 347w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Bu kod blo\u011funu incelerseniz e\u011fer, olas\u0131 hata veren HTML kontrol\u00fcn\u00fcn a\u00e7\u0131l\u0131\u015f ve kapan\u0131\u015f taglar\u0131n\u0131n ba\u015f\u0131na &#8220;@:&#8221; i\u015fareti koyarak sorunu \u00e7\u00f6zm\u00fc\u015f bulunmaktay\u0131z.<\/p>\n<p>MVC Razor mimarisinin getirdi\u011fi sonsuz zenginliklerin yan\u0131nda b\u00f6yle ufak tefek ama \u00e7\u00f6z\u00fcm\u00fc saatler bulan hatalarda ka\u00e7\u0131n\u0131lmaz de\u011fildir.Eee art\u0131k tecr\u00fcbeyle bu engeller a\u015f\u0131lacak, zamanla bu View diyarlar\u0131nda eski kula\u011f\u0131 kesiklerden olaca\u011f\u0131z in\u015fallah \ud83d\ude42<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fcmidiyle..<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar..<\/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 MVC Razor mimarisiyle \u00e7al\u0131\u015f\u0131rken listeleme i\u015flemlerini genellikle prosed\u00fcrel d\u00f6ng\u00fcler kullanarak, HTML taglar\u0131n\u0131 tekrarlay\u0131p ger\u00e7ekle\u015ftiriyoruz.Bazen tekrarlanan(Repeat) HTML kontrollerinin ba\u015flang\u0131\u00e7 ve biti\u015f etiketlerini if \u015fartlar\u0131yla kontrol edip, duruma g\u00f6re yazd\u0131rma i\u015flemi yap\u0131yoruz.\u0130\u015fte bu durumda olas\u0131&#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":[11,258,345],"tags":[746,289,45,283,368],"class_list":["post-2037","post","type-post","status-publish","format-standard","hentry","category-asp-net-mvc","category-hata-cozumleri","category-mvc-4-0","tag-asp-net-mvc","tag-html","tag-if","tag-mvc","tag-razor"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/2037","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=2037"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/2037\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=2037"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=2037"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=2037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}