Etiket Arşivi [ ASP.Net MVC ] - Sayfa9 / 9

  1. Bir önceki yazımda, Spark View Engine hakkında kısa bir giriş yapmıştık. Bu yazımda Spark View Engine ‘in kolaylıklarında biri olan Global namesapce kullanımını inceleceğiz.ASP.Net WebForm ya da MVC(aspx) sayfasında, herhangi namespace ayıt bir nesne kullanmak istediğimizde o nesnenin ayıt olduğu namespace sayfa tanım alanında import etmemiz ve bunu kullanmak istediğimiz diğer sayfada aynı şekilde kullanmamız gerekmektedir.

    Peki, Spark View Engine ile bu işlemi nasıl şekilde gerçekleştiriyoruz. Konu ile ilgili olarak Spark View Engine de iki yöntem vardır. Bunlar;

    •   Global dosya tanımlamak
    •   Web Config de bulunan Spark elementleri arasında tanımlama yapmak

    Maddelinmiş yöntemler sayesinde Spark View Engine ile uygulama geliştir iken, sık kullanmış olduğumuz namesapce ‘i bir kere tanımlayıp birden fazla yerde tekrar tanımlama yapmadan kullanmamıza izin vermektedir. Şimdi söz konusu yönetmeleri inceleyelim.

    Not: Bir önceki makalemde Spark View Engine projenize nasıl kuracağınızdan bahsettiğim için, bu noktayı atlıyorum.

    İlk kullanım olarak, web config dosyasındaki tanımla şeklini inceleyelim.

    Görmüş olduğunuz çözüm, global de bulunan web config dosyasında Spark elementleri arasında bulunan pages elementini eklem ile başlamaktadır(Pages elementi genel olarak sayfalar ile ilgili tanımlamalarını yapabileceğimiz alanadır.).Daha sonra pages elementinin altına namespace elementinin ekleyerek sık kullanmış olduğumuz namesapace ekliyoruz.

    Not: Burada dikkat edilmesi gerek bir nokta olarak ise, pages elementin içerisindeki automaticEncoding niteliğidir. automaticEncodiong niteliği View içerisinde !{} şeklinde yapmış olduğumuz tanımlamaların sayfa içerindeki şifrelenme ile ilgilidir. Varsayılan olarak “true” olarak atanır.

    İkinci yöntem ise, projemize bir global dosya kazandırmak olacaktır. Bunu için projemize _global.spark isimli bir text dosyası ekleyelim.

    Not: Spark View Engine, bu dosyayı genelde Shared ya da Layout içerisinde aradığı için buna dikkat edilmesi gerekmektedir.

    Görmüş olduğunuz gibi projemize bir global dosya eklemiş olduk. Şimdi tanımlama şeklini inceleyelim.

    Yukarında gördüğünüz gibi use elementi içerisine namespaces niteliği açarak kullanmak istediğimiz namespace import edebiliyoruz(<use namesapce=”System”/>).Anlatmaya çalıştığım iki yöntem ile yaptığımız tanımlamalar, projemizde bulunan “.spark” uzantılı tüm view içersinde her hangi bağımsız tanıma gerek duymadan kullanabilmekteyiz.

    Not: Üzerinde çalıştığınız proje içerisinde birden fazla global dosyası oluşturma teknik sorunlara çeşitli sorunlara neden olabilir.

    Son olarak, çalıtığımız view içersinde çok global olmaya ve sadece o, view içerisinde tanımlamak istediğimiz durulmada ise, <use namesapce=”System”/>  şekilden tanımlama yapabilmekteyiz.

    Bu yazımda Spark View Engine ile local ve global namesapce tanımlama işlemlerini görmüş olduk. Konu ile ilgili sorularınızı info@ibrahimatay.org mail adresi yönetebilirsiniz.

    Herkese kolay gelsin.

    IBRAHIM ATAY

    Blog     :http://www.ibrahimatay.org

    Twitter : http://twitter.com/ibrahim_atay

  2. ASP.Net ile uygulama geliştir iken; ara yüz tasarlama aşamasında, kullandığımız Syntax uzun olması geliştirme süresin uzamasına neden olmaktadır.Özelliklede ASP.Net MVC uygulamalarında bu sorun daha göze çarpmaktadır.Bu gibi durumlar için zaman içinde çeşitli View Engine kütüphaneleri ortaya çıkmıştır. Bu yazının konusu olan Spark View Engine bunlarda birisidir. Aşağıda popüler olarak kullanıla View Engine kütüphaneleri bulunmaktadır.

    ·         Spark

    ·         NHaml

    ·         MonoRail

    ·         Razor

    ·         Vb..

    Spark View Engine, Apache 2 lisansı sahip ve açık kaynak olarak devam etmektedir. Konu ile ilgili olarak uygulama deneyimizi artırmak için küçük bir uygulama yapalım ve kullanım kolaylıklarında yararlanmaya başlayalım Wink. Spark View Engine ile ilgili dosyaları burada indirebilirsiniz.Gerekli dosyaları edindikten sonra ASP.Net MVC 2 projesi başlatalım.Spark View Engine özelliklerini projemizde kullanmamız için Spark.dll ve Spark.Web.Mvc.dll projemize referas edelim.

    Projemize gerekli referansları ekleme işlemini gerçekleştirdikten sonra, Spark View Engine ile ilgili ayarları yapmaya başlayalım. İlk olarak web.config dosyasında gerekli tanımları yapmamız gerekmektedir. Bu işlem için web.config dosyasına Spark View Engine ile alakalı bir section tanımlayalım.

     

    Gerekli section tanımlamasını yaptıktan sonra; hazırlamış olduğumuz View(.spark) nesnelerinin çalışma zamanında derlenebilmesi ile ilgili olarak gerekli elementi tanımlıyoruz.

    Kurulum ayalarının son aşaması olarak, Spark View Engine ‘i ViewEngine koleksiyonuna eklememiz gerekmektedir.

     

    Yapmış olduğumuz tanımlamalar ile alakalı her hangi sorun olup-olmadığını kontrol etmek amacı ile projemizi çalıştıralım. Proje çalıştığında karşımıza; proje oluşturduğumuzda gelen varsayılan dosyalar gelecektir.

     

    Şimdi, uygulamamızda kullanmış olduğumuz standart kodu görelim.

     

    Özellikle resminde seçmiş olduğum alanlar, Spark View Engine de değişikler göstermektedir. Bu açıda bu alanlara dikkat etmemiz gerekmektedir. Uygulamamızı Spark View Engine ile tasarlayarak incelemeye başlayalım. Öncelik ile Spark View Engin ile kullandığımız master sayfa yapısına kısa bir bakalım(ilerleye yazılarımda Master Layout konusunda detaylı olarak incelenecektir.).

    Yukarıda görmüş olduğunuz resim, Spark View Engine ile kullanmak için hazırlanmış master sayfasıdır. Spark View Engine, kullanımdaki master sayfa tanımda kullanılan ContentPlaceHolder tanımları <use content=””/> şeklinde yapılmaktadır. Göze çarpan bir diğer kullanım şekli ise Usercontrol Render etme şeklidir( <LogUserControl/> ). View içersinde kullanmış olduğumuz fonksiyonları (Htmlhelper) ise “!{ }”  şekliden çağırmaktayız.

    Master Sayfayı inceledikten sonra Content sayfasını inceleyelim.

     

    Content sayfasında ise kullanıcı ara yüzü tasarladığımız bölüm olarak, master sayfasın içersinde bulunan alanları content(<content name=””/>) şeklide çağırmaktayız. Kullandığımız herhangi bir içerik sayfasında varsayılan master yerine faklı bir master dosyası kullanmak istiyor iseniz <use master=”master adı”/> şeklinde yapacağız tanımlama yeterli olacaktır.

    Bu yazımda, Spark view Engine konusuna bir giriş yapmaya amaçlayarak, küçük bir uygulama gerçekleştirdik. Konu ile ilgili sorularınızı info@ibrahimatay.org mail adresi yönetebilirsiniz.

    Herkese kolay gelsin.

    IBRAHIM ATAY

    Blog      :http://www.ibrahimatay.org

    Twitter : http://twitter.com/ibrahim_atay