Asp.Net Razor View Engine’in yazım yöntemlerini inceleyelim. Daha önceden bu konuyla ilgili iki tane basit makale yayınlamıştım. Konuyu derleyip toparlamak için bu makalede konuyu detaylıca ele alacağım.
Önceki makaleler:
http://www.ugurkizmaz.com/YazilimMakale-608-Asp-Net-MVC-3-Razor-View-Engine-Giris.aspx
http://www.ugurkizmaz.com/YazilimMakale-1441-Asp-Net-MVC-Razor-3-Aciklama-Satiri.aspx
Asp.Net Razor View Engine ile yazılan kod blokları @{ ... } içerisinde yer almaktadır. Kodlar @ simgesiyle ile başlar. Eğer blok halinde kod yazılacaksa @{ } içerisine kodlar yazılır.
@{
}
Razor View Engine Açıklama Satırı
Açıklama satırları C#’taki gibi eğer birden çok satır yazılacaksa /* */ arasına, tek satır yazılacaksa // yanına yazılmaktadır. Bunun yanı sıra Razor’a özel olarak @* ile *@ arasına da açıklama metinleri yazılmaktadır. Bu yazım yöntemiyle birden çok satır oluşturabilirsiniz.
/*Açıklama metni*/
//Açıklama metni
@*Açıklama Metni*@
Razor View Engine Değişken Tanımlama
Değişken tanımlamaları ve değer atamaları @{ ... } bloğunda yapılmaktadır.
@{
string isim = "Veysel Uğur KIZMAZ";
}
Razor View Engine Değişken Değerini Yazdırma
Değişkenin değerini ekranda yazdırmak için @’in yanına değişkeni yazmanız yeterli olacaktır (noktalı virgül yok).
@{
string isim = "Veysel Uğur KIZMAZ";
@isim
}

Benzer işlemi bir dizi oluşturup gerçekleştirelim. Döngü içindeki değerleri yazdırdığımız zaman arada herhangi bir ayırıcı karakter belirtmediğimiz için yanyana yazacaktır.
@{
string[] adlar = new string[]{"Veysel", "Uğur", "KIZMAZ"};
foreach (var ad in adlar)
{
@ad
}
}

Kelimelerin arasına boşluk koymak için @ad tanımlamasını paranetez içine alıp yanına boşluk ekleyebilirsiniz. Bu tanımlama @( ... ) bloğu içinde tanımlanır.
@{
string[] adlar = new string[]{"Veysel", "Uğur", "KIZMAZ"};
foreach (var ad in adlar)
{
@(ad + " ")
}
}

Razor View Engine HTML Kodu Yazdırma
Yazdırılan metnin yanında HTML etiketlerini de kullanabiliriz. Bunun için iki yöntem var:
1. @: ile kodları yazmak.
@{
string[] adlar = new string[]{"Veysel", "Uğur", "KIZMAZ"};
foreach (var ad in adlar)
{
@ad@:
}
}

@{
string[] adlar = new string[]{"Veysel", "Uğur", "KIZMAZ"};
foreach (var ad in adlar)
{
@ad@:<br />
}
}

2. HTML kodlarını olduğu gibi yazmak.
@{
string[] adlar = new string[]{"Veysel", "Uğur", "KIZMAZ"};
foreach (var ad in adlar)
{
<b>@ad</b><br />
}
}

Yepyeni makalelerde görüşmek dileğiyle :)
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com