Önceki Yazı : Asp.Net Mvc – Web Helper'ler (Asp.Net Mvc Yazı Dizisi – 17)
Merhaba Arkadaşlar,
Önceki yazılarımızda, blog projesinin ana sayfasını bitirmiş, ardından da Html ve Web Helper'larına kısaca değinmiştik.
Bu dersimizde, yeniden blog projemizi inşaa sürecine devam ediyor olacağız.
Tüm makalelerin, tarih sırasına göre düzenleneceği Makale sayfasını hazırlayalım. Ana sayfada kullandığımızdan farklı olarak, bu sefer Html Helper(detaylı bilgi için bakınız)'ları kullanıyor olacağız.
public ActionResult TumMakaleler()
{
MvcProjesiContext db = new MvcProjesiContext();
//Tüm makalelerimizi, tarih sırasına göre, büyükten küçüğe olmak üzere çekiyoruz.
List<Makale> makaleListe = (from i in db.Makales orderby i.Tarih descending select i).ToList();
return View(makaleListe);
}
public ActionResult TumMakaleler() satırında TumMakaleler() kısmına sağ tıklayıp, AddView diyelim.
@model IEnumerable<MvcProjesi.Data.Makale> kısmını koruyalım.Daha önceki yazılarımızda, döngüleri kullanarak, tüm elemanları saf Html Tag'ları ile doldurmuştuk. Bu sefer ise, Microsoft'un bize sunmuş olduğu Html Helper'ları vasıtası ile doldurma yapacağız.
Önceki derslerimizden birinde incelediğimiz Html Helper'lerinde, bir de genişletilmiş, sonuna For eklenmiş Extension Method'larımız bulunmaktadır. Örnek olarak TextBox Helper'imizin yanında, bir de TextBoxFor şeklinde bir Helper'imiz daha bulunmaktadır.
Html Helper For Extension Metod'ları
View sayfalarımızda, genellikle en üst satırda aldığımız model verisini (@model IEnumerable<MvcProjesi.Data.Makale>
gibi), Html Helper'lara bağlarken For takılı metodları kullanırız. Sayfamızı yazarken, bu durumu daha iyi anlıyor
olacağız. Projemize devam edelim.
@model IEnumerable<MvcProjesi.Data.Makale>
<h1>Makalelerimiz</h1>
@{
//Veri kaynağımız liste olduğu için döngümüzü kuruyoruz.
foreach (var item in Model)
{
<div style="width:100%;margin-top:25px;box-shadow:0 0 5px gray;padding:25px;">
<!--Başlığı, büyük ve renkli görünsün diye, h3 tagı içerisine aldık-->
<h3 style="font-weight:bold;color:red">
@Html.DisplayFor(i => item.Baslik)
</h3>
<!--Başlıkla içerik arasına, dikey çizgi ekliyoruz.-->
<hr />
@Html.DisplayFor(i => item.Icerik)
<hr />
<!--Tarih başlığını, tarih içeriğine bağlamak için Label kullandık.-->
@Html.Label("Tarih : ")
@Html.DisplayFor(i => item.Tarih)
<hr />
<h4>Makaleyi Yazan</h4>
<!--Burada bir değişkende, ad ile soyadı birleştirip ekrana bastık.-->
@{string adSoyad = item.Uye.Ad + " " + item.Uye.Soyad;}
@Html.Label("Adı ve Soyadı : ")
@adSoyad
</div>
}
}
Burada** ** karakteri, html tarafında boşluk atmaya yarar.

Şimdi aynı işlemleri hızlı bir şekilde, Yorumlar sayfamız için de uygulayalım.
public ActionResult TumYorumlar()
{
MvcProjesiContext db = new MvcProjesiContext();
List
TumYorumlar() 'a sağ tıklayıp, Add View diyelim.
@model IEnumerable<MvcProjesi.Data.Yorum>
@{
ViewBag.Title = "TumYorumlar";
}
<h2>TumYorumlar</h2>
@{
//Veri kaynağımız liste olduğu için döngümüzü kuruyoruz.
foreach (var item in Model)
{
<div style="width:100%;margin-top:25px;box-shadow:0 0 5px gray;padding:25px;">
<h4>@Html.Display("Yorumun İçeriği")</h4>
@Html.DisplayFor(i => item.Icerik)
<hr />
@Html.Label("Yorumun Yazıldığı Makalenin Başlığı :") @Html.DisplayFor(i => item.Makale.Baslik)
<hr />
@Html.Label("Yorumun Yazan Kişinin Adı ve Soyadı : ") @{string adSoyad = item.Uye.Ad + " " + item.Uye.Soyad;}@adSoyad
</div>
}
}

Makaleler ve Yorumlar sayfamızı da ekledikten sonra, projemizin genel durumuna bir bakmamızda fayda var. Öncelikle listemizi, bir gözden geçirelim.
Evet, sonuç olarak projemizde oluşturduğumuz listenin, 5 maddesini bitirmiş durumdayız. Sonraki derslerimizde, diğer maddelere devam ediyor olacağız.
Projenin son halini buradan indirebilirsiniz.
Hepinize kolaylıklar diliyorum.