amerika gazete haberleri haberler
Yazılım

MVC – Razor View Engine – Bölüm 1

MVC’ye giriş yapmış, layoutlar konusunu detaylı bir şekilde incelemiştik. Şimdi ise, MVC’nin asıl yenilik sayılacak özelliği olan Razor View Engine olayına giriş yapacağız. Önceki sistemde kullanılan view engine konusunda bir kaç tane örnek verip, sonrasında ise Razor nedir ne işe yarar onu inceleyeceğiz.

View Engine, html sayfalarında sunucu tarafında kod çalıştırmamıza yarayan, yapması gereken işlemleri sunucu tarafında gerçekleştirdikten sonra istediğimiz çıktıyı kullanıcıya ulaştıran bir veri ve görüntü işleme motorudur.

Daha önce de söylemiştik, MVC yapısı, klasik ASP konusunda ciddi benzerlikle taşıyor. Klasik ASP’de html kodlar arasında çok rahatlıkla ASP kodları yazabiliyorken, Asp.NET tarafında bu işlemi yapamıyorduk. Özellikle jQuery’nin getirdiği o güzel nimetlerden faydalanamama veya kırk takla atma konusunda bizi ciddi manada rahatlatıyor. Evet yanlış duymadınız, Razor View Engine ile, html, css, js kodları arasında da C# veya VB.NET kodları yazabiliyoruz!

Burada dikkat etmemiz gereken konu şu, html kodları arasında çok rahatlıkla C# kodu yazabiliyoruz peki ama bu kodlar kaynak kodunda gözükecek mi? Kesinlikle hayır. Sizin yazdığınız kodlar gerekli çıktıları getirdikten sonra kendileri ortadan kaybolurlar. İçeriği alan browser sadece verileri alır ve ekranda gösterir. Html kodlara bakıldığında sadece verileri görür. Asp.NET tarafında ViewState’lerde çok ciddi veriler saklanmakta ve bu ciddi sıkıntılar doğutmaktaydı. Bir web sayfasının kaynak kodlarını incelediğinizde, gereksiz bir sürü hidden textboxlar, gereksiz formlar, gereksiz karakterler görüyordunuz. Şu an MVC ile yapılmış bir projenin kaynak kodunu incelediğinizde ise karşınıza tertemiz bir HTML çıktısı alabilirsiniz.

Razor Operatörü

Daha öncesinde Klasik ASP’de HTML kodları arasında kod yazarken kullandığımız “<%%>” taglarının yerin, razorda “@” operatörü alıyor. Bu öperatörden sonra yazdığınız kodların tamamı C# veya VB.NET kodları olarak yorumlanıyor.

@DateTime.Now

yazdığınızda, HTML kodlarınızın arasına 29.03.2015 15.56 olarak yazdıracaktır. Burada dikkat etmemiz gereken nokta şudur. Bu kod server tarafında yorumlandıktan sonra tarayıcıya gönderileceği için bize vereceği tarih server tarihidir. Javascript veya benzeri uygulamalarla saat aldığınızda, bilgisayarın saatini alıp getiriyorken, burada server’da yorumlanmasından dolayı server saatini getirmesi durumu söz konusudur. MVC mantığı konusunda önemli bir noktadır.

Tek Satırlı Kod

@DateTime.Now

kodu arasında boşluk olmadığından bunu doğrudan bloklar olmadan yazabiliyoruz.

Çok Satırlık Kod

@{string isim = "YazilimBakanligi"}

string kelimesinden sonra boşluk olduğundan dolayı bu kodu bloklar arasına almamız gerekiyor. Yoksa hata ile karşılaşacağız.

Değişken Kullanımı Örneği

Kod bloğu arasında yaptığımız işlemleri sayfanın istediğimiz bir kısmında gösterebiliyoruz. İlla kod blokları arasında yer almasına gerek kalmıyor. Bu ciddi bir özellik!

@{byte sayi1 = 32;byte sayi2 = 4;int carp = sayi1*sayi2;}<b>Çarpım Sonucu</b> : @carp

Burada dikkat edilmesi gereken konu şu ki, @operatörü ile değişken yazdırma işlemi yapıyoruz. Peki ama info@teknorit gibi bir mail adresi yazmaya çalıştığımızda teknorit değişkenini yazmaya çalışacak. O tarz durumlarda, mail adresi yazarken info@@teknorit olarak kullanıyoruz. Çıktı alırken bunu tek @ olarak gösterecek ve kendisi de kod olarak algılamayacak.

@(5+7)

gibi kullanım şekilleri de mevcuttur.

Yorum Satırı Kullanmak

Yorum satırı kullanabilmek için, css tarafında kullanılan tarzı kullanmanız mümkündür.

Tek satırda kullanırken “//yorum yorum yorum” olarak kullanabileceğiniz gibi, birden çok satırda işlem yaparken ise, “/*yorum yorum */” olarak kullanmanız mümkündür.

İlgili Makaleler

Başa dön tuşu
İstanbul evden eve nakliyat izmir dijital ajans dijital pazarlama