Razor View Engine; Asp.Net projelerimizde tasarım sayfaları içerisinde (View) HTML,CSS,Javascript yanında C# kullanmamızı sağlamaktadır . Örneğin, aynı sayfa içerisindeki Html,Css, Javascript kodları istemci (grafik kullanıcı arayüzü-GUI) tarafında çalışırken C# kodlarımız sunucu tarafında çalıştırılır. Html dilinde eklediğiniz bir yorum satırı site kaynak kodları arasında tüm kullanıcılar tarafından görülebilirken, Razor ile eklediğiniz C# açıklama/yorum satırları sunucu tarafında işlem gördüğü için kullanıcılar tarafından görülemez. Sadece uygulamayı geliştiren yazılımcılar görebilir.
1 2 3 4 | <!-- HTML Açıklama Satırı --> @* Razor Açıklama Satırı *@ |
Razor Kod Blogu Yapısı
View’de C# kodları yazabilmek için kullanılan kod yapısı aşağıdaki şekildedir:
1 2 3 4 5 | @{ //C# Kodlarınız buraya gelecek } |
PHP kullananların hızlıca adapte olabileceği bu yapıyı bir örnek ile açıklayalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <h2>Kullanıcı Bilgileri</h2> @{ string Ad = "Ferit"; string Soyad = "Gezgil"; string Meslek = "Yazılım Uzmanı"; } <b>Adı:</b> @Ad <br /> <b>Soyadı:</b> @Soyad <br /> <b>Mesleği:</b> @Meslek <br /> |
Yukarıdaki kodlamadan anlaşılacağı üzere, Razor Kod bloğunda oluşturulan değişkenlere blok dışarısından erişmek için “@” işaretini kullanmanız yeterli. Php’de $ kullanımına benzer olan bu yapı kodlamamızı daha anlaşılır, daha kısa bir hale dönüştürüyor.
Razor Tek Kod Satırı Yapısı
Tek satırlık C# kodlarını başına “@” işaretini ekleyerek, blok içerisine almadan yazabilirsiniz. Yukarıdaki örnekte oluşturduğumuz bilgileri tek satırlık kod ile bir H2 etiketi içerisine çekmek istediğimizi düşünelim:
1 2 3 | <h2>@(String.Format("Adı:{0} - Soyadı:{1} - Mesleği:{2}",Ad,Soyad,Meslek))</h2> |
Razor’da Döngüler Ve Kontrol Yapıları
Razor ile C# döngüleri ve kontrol yapılarını html tasarım sayfası içerisinde rahatlıkla kullanabiliriz (Foreach,For,While,İf-Else vb.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | @{ string[] Kullanicilar = new string[] { "Ferit Gezgil", "Demo Kullanıcı 1" , " Demo Kullanıcı 2" }; } <h2>Kullanıcılar</h2> <ul> @foreach (string kullanici in Kullanicilar) { if (kullanici == "Ferit Gezgil") { <li><b>@kullanici</b></li> } else { <li><i>@kullanici</i></li> } } </ul> |
[…] kodları da çalıştırmamızı sağlıyordu. Razor sayfa yapıları hakkında bilginiz yoksa “Asp.Net MVC – Razor Page Kullanımı” yazıma göz atmanızı tavsiye ederim. Razor altyapısı uygulamalarımızda kolay, temiz ve […]