image.axd

MVC3 & Razor View Engine

Geçmişte mvc ve entity ile birlikte bazı çalışmalarım oldu fakat bazı noktalarda ki yetersizliğinden dolayı bıkkınlık geldi ve ilgilenmeyi bıraktım. Aradan biraz zaman geçtikten sonra Visual Studio 2010, framework 4.0 ve mvc 2 duyruldu açıkcası geçmişteki kötü imajı nedeniyle yine ilgilenmedim. Şimdi ise Mvc 3 beta çıktı ve her zaman ki gibi yine gündemde. Uzun bir süre dirensem de, izlediğim bir video dan sonra tekrar ilgimi çekmeyi başardı. Bunun en büyük nedeni razor view engine esasında razor değil view engine mekanızması beni çok fena cezbetti. Asp.Net tarafında herkesin hayal ettiği, özlediği bir yapıydı bu.

İlk olarak web matrix de cshtml uzantısıyla gördüğüm razorun açıkcası ne olduğu anlamamıştım. Şimdilerde kendi çapımda yaptığım ufak bir projede kullanmanın tarifsiz keyfini çıkarıyorum. Hemen bir örnekle razor view engine kod yapısına bir göz atalım.

Tasarım tarafında basit bir for döngüsü .aspx

    <%for(int i=0;i<5;i++){%>
      <li><%=i%></li>
    <%}%>

Aynı kodun .cshtml versiyonu yani razor

    @for(int i=0;i<5;i++){
        <h1>@i</h1>
    }

Görüldüğü üzere @ işratiyle başlıyor ve html kodlarmızı ekstra bir işlem olmadan içinde kullanabiliyoruz. Bu sayede çok hızlı ve düzenli bir şekilde kodlarımızı yazabiliyoruz.

Şuanda bulunduğuz sayfa <strong>@Request.Url</strong>

Ne kadar basit değil mi ? Razor’ un diğer bir özelliği ise bu mekanızmaya geçişin kolay olması ve ekstra kod bilgisine ihtiyaç duyulmaması. jQuery ile hayatımıza giren $ işaretinden sonra şimdide @ işareti giriyor :)

Şuanda beta olmasından dolayı kod renklendirme (syntax highlighter) ve otomatik tamamlama (intellisense) olayı bulunmadığından biraz zorluk çekebilirsiniz. Ama size şunu ısrarla söylemek isterim ki kesinlikle bir deneme yapın ve bu yapıyı gözlerinizle görün. İlerleyen günlerde razorun yeteneklerine daha yakından bakıp, küçük bir uygulama yapacağız. Şimdilik bu kadar :)