Repeater Gibi Kontroller İçinde İf-Else Kullanımı

Merhabalar,

Sık sık denetlemelerde karşımıza çıkan kontrollerdeki denetleme işlemlerinde repeater gibi nesnelerde sorun yaşamaktayız.

Bu konuda ufak bir bilgi paylaşmak istiyorum.

Repeater gibi nesnelerde if-else kullanımı özellikle Eval(“”) değerleri arasında kıyaslama yaparak bazı işlemler gerçekleştireceksek bize sorunlar çıkarmakta.

Bunun önüne geçmek için hemen kodumuzu paylaşıyorum.

<%# Eval("DURUMU").ToString() == "0" ? "Gelen değer sıfır" : "Gelen değer sıfırdan farklı" %>

Üstte ki kodun açılımı aslında

if( Durumu == 0)

{ //bla bla bla }

else {//bla bla bla}

dır.

Ama bazen if-else if- else if- else gibi gitmemiz gerekebilir. Bu gibi durumda ise;

<%# Eval("DURUMU").ToString() == "0" ? "Gelen değer sıfır" : Eval("DURUMU").ToString() == "1" ? "Gelen Değer bir" : Eval("DURUMU").ToString() == "2" ? "Gelen değer iki" : "Gelen değer farklı" %>

şeklinde gitmemiz gerekiyor. Unutmadan bir hatırlatma yapayım, bu denetlemede else olmak zorundadır.

Kolay gelsin.

10,228 total views, 0 views today

6 Comments

Mustafa

about 5 sene ago

Merhaba Repeaterda veri çekerken belirli kayıttan sonra şunu yap yada şunu yaz nasıl deriz? Mesela çekilen her 3 kayıttan sonra div class="clear" ekletmek Teşekkürler

Cevapla

qaniqani

about 5 sene ago

Merhabalar, biraz geç kaldım cevap yazmaya ama yine de başkasının işine yarayacağını düşünerekten cevaplamak istiyorum. Code behind tarafında Page_Load üzerinde bir tane static integer değişkene ihtiyacımız var. public static int step = 1; Daha sonra Repeater içerisinde clear'ın gelmesini istediğimiz yere(html kodlarını yazdığımız yer); [Code] <% if((step % 3) == 0) {%> //div için yazılması gereken kodlar div class='clear' /div gibi <% } step++; %> [/Code] aşağıdaki kod parçasını eklersek eğer her 3 adımda clear konacaktır. Kolay gelsin

Cevapla

Mustafa

about 4 sene ago

Dostum çok sağol :) Yukarıdaki yazılışı çözmem birkaç dk mı alsada hemen oldu. Mantık süper. Yazılım gerçekten müthiş bişey.. Her 3 kayıt (step % 3) dan sonra araya bir div atıyor. Sağlıcakla.

Cevapla

qaniqani

about 4 sene ago

Tskler. benimde bir cok yerde isimi goruyor. Ayrica bu mantigi sadece repeater gibi kontrollerde değil code behind tarafinda da rahatlikla kullanabilirsin. Uzun uzun if bloklari yazmana gerek kalmaz.

Cevapla

N.Burak

about 2 sene ago

Arkadaşım bu ternary operatörü, sen kendine yazılımcı mı diyorsun? Deyim değil de blok kullanıldığında ne olacak? Al bakalım süslü parantezler içine, gelsin sarı sayfalar. (:

Cevapla

qaniqani

about 2 sene ago

Suslu parantezler yerine normal parantezler kullanirsan hic bisey almazsin. Ayrica terimlerin isimlerine takilmayan bir insan olarak isminin ne olup olmadigi hicte umurumda degil. Son olarak; kisinin aineyi istir, lafa bakilmaz.

Cevapla

Leave a Comment

Ulaşım için: Facebook: /ganigani Twitter: @abdulgani_demir


*

%d blogcu bunu beğendi: