Razor Engine, sunucu tabanlı bir işaretleme dilidir.(Server Side Markup Language)
HTML kodları derlenirken sunucu taraflı kodları algılayan görüntüleme motorudur. C# ile birlikte dinamik sayfalar oluşturabiliriz. C# dilini destekler. MVC projelerinde View olarak bilinen .cshtml dosyalarında kullanılır.
Temel Özellikleri
Kullanımı
Örnekler
Html ve C# kodlarının @ ve parantezler içerisine yazılması
Değişken atamaları ve dört işlem yapılabilir.
Kontrol yapıları ve switch case kullanımı da yapabilirsiniz. Aynı view'da aynı değişken sadece bir kere tanımlanabilir. dTarihi burada örnek bir değişkendir.
Döngüler de Razor yapısında çalışabilecek kodlardandır.Listeleme template'de sıkça görebileceğiniz foreach ve HTML tagları bir arada kullanılmıştır.
MVC'de View'da Model'i kullanmak için yaptığımız tanımlama aynı zamanda Controller'dan View'a veri aktarabildiğimiz ViewBag yapısı da Razor'da kullanılır.
Dizi oluşturup, HTML 'de kullanılan listeleme işlemlerine bir örnek
DateTime kullanımı
HTML Helper yapısı ile sunucu tarafında kod yazar gibi, kontroller oluşturabilir, using yapısı ile de kütüphane tanımlaması yapabiliriz.
HTML kodları derlenirken sunucu taraflı kodları algılayan görüntüleme motorudur. C# ile birlikte dinamik sayfalar oluşturabiliriz. C# dilini destekler. MVC projelerinde View olarak bilinen .cshtml dosyalarında kullanılır.
Temel Özellikleri
- C# ile HTML kodları içerir.
- .cshtml uzantlı dosyalardır.
- Varsayılan olarak HTML kodları içerir.
- @ operatörü kullanarak HTML sayfalarında C# kodları yazabiliriz.
- @ ile HTML ve C# kodları berabe çalıştırılabilir.
Kullanımı
@Tek satırlı C# kodları @{ //Çoklu C# kodları }
Örnekler
Html ve C# kodlarının @ ve parantezler içerisine yazılması
@{ string ad = "Mert"; <span> @ad</span> }
Değişken atamaları ve dört işlem yapılabilir.
@{ byte adet = 3; int fiyat = 250; int toplamTutar = adet * fiyat; <h6>Toplam Tutar:<span>@toplamTutar</span></h6> }
Kontrol yapıları ve switch case kullanımı da yapabilirsiniz. Aynı view'da aynı değişken sadece bir kere tanımlanabilir. dTarihi burada örnek bir değişkendir.
<p> 18 yaşından büyük müsün? @{ int dTarihi = 1997; if (dTarihi < 2000) { <p>Evet</p> } else { <p>Ne alakası var...</p> } } </p> @{ switch (dTarihi) { case 1990: <p>Evet</p> break; case 2001: <p>Ne alakası var...</p> break; default: break; } }
Döngüler de Razor yapısında çalışabilecek kodlardandır.Listeleme template'de sıkça görebileceğiniz foreach ve HTML tagları bir arada kullanılmıştır.
@foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.DosyaAdi) </td> <td> @Html.DisplayFor(modelItem => item.DosyaUzanti) </td> <td> @Html.DisplayFor(modelItem => item.DosyaTur) </td> <td> @Html.DisplayFor(modelItem => item.DosyaBoyutu) </td> <td> @Html.DisplayFor(modelItem => item.Aciklama) </td> <td> @Html.ActionLink("Edit", "Edit", new { id=item.DosyaID }) | @Html.ActionLink("Details", "Details", new { id=item.DosyaID }) | @Html.ActionLink("Delete", "Delete", new { id=item.DosyaID }) </td> </tr> }
MVC'de View'da Model'i kullanmak için yaptığımız tanımlama aynı zamanda Controller'dan View'a veri aktarabildiğimiz ViewBag yapısı da Razor'da kullanılır.
@model IEnumerable<MVC_Project.tbl_Kisi> @{ ViewBag.Title = "Index"; }
Dizi oluşturup, HTML 'de kullanılan listeleme işlemlerine bir örnek
<h3> Kişiler </h3> <ul> @{ string[] dizi = new string[4]; dizi[0] = "Mert"; dizi[1] = "Ali"; dizi[2] = "Kerem"; dizi[3] = "Baran"; foreach (var item in dizi) { <li>@item</li> } } </ul>
DateTime kullanımı
@DateTime.Now.Year
HTML Helper yapısı ile sunucu tarafında kod yazar gibi, kontroller oluşturabilir, using yapısı ile de kütüphane tanımlaması yapabiliriz.
<div> @using (Html.BeginForm("Index","Home",FormMethod.Post)) { @Html.TextBox("text1"); <br /> @Html.CheckBox("check1",false)@("Onaylıyorum") <br /> @Html.DropDownList("ID_Liste", listem); <input type="submit" value="Gönder"/> } </div>
Yorumlar
Yorum Gönder