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.
@* 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.