Razor View Engine (Dinamik Arayüz)

Razor, ASP.NET Core'un HTML içine C# kodları yerleştirmemizi sağlayan güçlü motorudur. Dosya uzantısı .cshtml olur. Razor'un en büyük avantajı, sunucuda çalışan C# kodlarıyla tarayıcıya giden HTML'i kusursuzca harmanlamasıdır.

1) Temel Sözdizimi (Syntax)

Razor'da C# kodları @ sembolü ile başlar. Eğer birden fazla satır yazılacaksa @{ ... } bloğu kullanılır.

Razor Syntax Example
@* Tek satırlık C# kodu *@

Bugünün tarihi: @DateTime.Now.ToShortDateString()

@* Döngü Kullanımı *@
    @foreach (var urun in (List<string>)ViewBag.Urunler) {
  • @urun
  • }
@* Koşullu İfadeler *@ @if (User.Identity.IsAuthenticated) { Hoş geldin, @User.Identity.Name } else { Giriş Yap }

2) Layout (Şablon) Yapısı

Tüm sayfalarda ortak olan header, footer ve menü gibi alanları tek bir yerde (_Layout.cshtml) toplarız. Sayfaların içeriği @RenderBody() komutunun olduğu yere otomatik yerleşir.

💡 Bilgi: Verileri Controller'dan View'a taşımak için en çok ViewBag (dinamik) veya ViewModel (strongly-typed) yapıları kullanılır. Modern projelerde güvenli olduğu için ViewModel önerilir.