MVC 4.0 Yazı Dizisi – Bölüm 5 – Asp.Net Mvc ile Repeater

ASP.NET Web projelerinde collection tipindeki verilerimizin ekrana bastırılması işlemi için Repeater adındaki kontrolü kullanmaktaydık. Ancak ASP.NET MVC Frameworku içerisinde artık bu çok alıştığımız kontrolümüze veda etmiş bulunmaktayız.

Peki şimdi ne yapıcaz?

Öncelikle bir Repeater kontrolünün çalışma sistemini basitçe inceleyelim.

Repeater kontrolü DataSource Property’sine atanmış olan collection nesnesinin eleman sayısı kadar dönen ve her dönüşte ilk satırdan başlayarak son satıra kadar item template içerisinde bulunan kodlar ile beraber vermiş olduğumuz kolon ismine ait datayı belirttiğimiz alana basan bir kontroldü değil mi?

Peki birde Foreach döngüsünün işleyişini inceleyelim.

Foreach döngüsü atanmış olan collection nesnesine ait eleman sayısı kadar dönen ve her dönüşte belirli satırı item değişkeni içeriğine atan ve kod blokları arasında bulunan kodları collectionun eleman sayısınca çalıştıran bir döngüdür.

Repeater kontrolü ile ForEach döngüsü birbirine ne kadar da benzer değil mi? Evet aslında repeater kontrolü bünyesinde Foreach döngüsünü kullanan bir kontrolden başka bir şey değildir.

İşte bu sebepten dolayı ASP.NET MVC içerisinde Repeater kontrolü yerine Foreach döngüsünü kullanacağız.

Şimdi yazı dizimizin bir önceki makalemizde yapmış olduğumuz gibi Empty şablonundan boş bir ASP.NET MVC projesi oluşturarak Home Adlı bir Controller ve bu Controller’a ait bir View oluşturalım.

mvc4bolum5_1

Oluşturduğumuz projenin Controllers klasörü içerisine ise Kisiler adında yeni bir Class ekleyelim.

Eklemiş olduğumuz Kisiler adlı classımıza ait kodları aşağıdaki gibi düzenleyerek sanal bir veritabanı yapısını oluşturalım.

public class Kisiler
{
    public string Ad { get; set; }
    public string Soyad { get; set; }
    public int Yas { get; set; }
}

Classımıza ait kodlarımızı düzenledikten sonra Home Controllerimize ait Index metodumuz içeriğinde classımız tipinden bir collection oluşturarak aşağıdaki gibi KisiListesi adlı bir ViewBag içeriğine aktaralım.

public ActionResult Index()
{
    List Kisilerim = new List();
 
    Kisilerim.Add(new Kisiler { Ad = "Erkan", Soyad = "Kilmen", Yas = 32 });
    Kisilerim.Add(new Kisiler { Ad = "Türkay", Soyad = "Ürkmez", Yas = 33 });
    Kisilerim.Add(new Kisiler { Ad = "Emre", Soyad = "Aydın", Yas = 35 });
    Kisilerim.Add(new Kisiler { Ad = "Erkan", Soyad = "Sağlık", Yas = 28 });
 
 
    ViewBag.KisiListesi = Kisilerim;
 
    return View();
}

Şimdi sırada bu verilerimizin View içerisinde kullanılarak ekrana basılması işlemi bulunmakta bunun için View’e ait kodları aşağıdaki gibi düzenlememiz yeterlidir.

@{
    ViewBag.Title = "Index";
}
<h2>Kişiler</h2>
 
@using RepeaterKullanimi.Controllers;
@foreach (Kisiler item in ViewBag.KisiListesi) { }
<table style="width: 250px;">
<tbody>
<tr>
<td>@item.Ad</td>
<td>@item.Soyad</td>
<td>@item.Yas</td>
</tr>
</tbody>
</table>

Kodlarımızı incelediğimizde standart bir foreach döngüsü görmemizin yanısıra foreach döngüsüne ait kod blokları içeriğinde HTML kodların kullanıldığını görmekteyiz.

Bu durum ASP.NET MVC bünyesinde bulunan Razor teknolojisinin bize sağladığı büyük kolaylıklardan birisidir. Bu teknik sayesinde biz standart bir HTML komutları yazarken komutlar arasında @ işareti ile ASP.NET MVC ye ait komutların yanı sıra .NET Framework bünyesinde bulunan programlama dillerine ait komutları da işletebiliriz.

Uygulamamızı çalıştırdığımızda karşımıza aşağıdaki görüntü gelecektir.

mvc4bolum5_2

Bu makalemizde Klasik ASP.NET Web projelerinde kullandığımız Repeater kontrolünün ASP.NET MVC mimarisi içindeki karşılığını ve nasıl kullandığının yanısıra MVC Razorun bize sağlamış olduğu HTML kodlar arasında .NET Framework yazılım dillerine ait kodların yazılmasını inceledik.

Bir sonraki makalemizde ASP.NET MVC Framework projelerinde Masterpage kullanımını inceleyeceğiz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir