ServerErr0r
uid=0(root)
- Katılım
- 12 Eyl 2009
- Mesajlar
- 2,330
- Reaction score
- 0
- Puanları
- 0
ASP.NET vNext Serisine ait Strongly Typed Veri Kontrolleri
Bu yazıda vNext Serisinin ikincisi anlatılmaktadır.
.NET ve Visual Studio’nun vNext tarafında çok fazla yenilik ve özelliklerle karşılaşılmaktadır. Bununla beraber ASP.NET vNext ile de webForm ve MVC’lerde olduğu kadar gerçekten heyecan verici gelişmelerin olduğunu göreceksiniz.
.NET ve Visual Studio’nun vNext tarafında çok fazla yenilik ve özelliklerle karşılaşılmaktadır. Bununla beraber ASP.NET vNext ile de webForm ve MVC’lerde olduğu kadar gerçekten heyecan verici gelişmelerin olduğunu göreceksiniz.
Bugün kü yazımızda ilk olarak WebFormlar üzerindeki gelişmelerden bahsedeceğiz, ardından yeni desteklenen Strongly Typed data kontrollerini tanıyacağız.
Arkaplandaki bazı Veri Kontol Şablonları
ASP.NET Web Formları "şablon" conseptini daha ilk sürümüyle başlangıçta tanıtmıştı. Şablonlar, server kontrolleri tarafında genellikle veri bağlantısı(data-binding) sağlayan ifadeler kullanılarak biçimlendirme, genişletme (override etme) gibi özelleştirmeler yapmanıza olanak sağlar.
Bugün bir şablon içerisinde data-binding işlemiyle veriye bağlanmak için, late-bound ifadelerini kullanabilirsiniz. Örneğin aşağıdaki gibi ASP.NET Repeater kontrolleri içinde veri bağlama işlemi için Eval() yardımcı metodunun Ad, Soyad özelliklerinden yararlandık.
Bugün iki yolla veri bağlantısı yaparken, bir diğer yol olan Bind() yardımcı metodunun kullanımınada örnek verelim.
Yukarıdaki yaklaşımda veri bağlantısı yaparken çağrılan Eval() ve Bind() metotlarına ait property isimlerinin gösteriminin es geçilmesidir. Yani bunun anlamı şu; metoda ait üye isimlerinin intelliSense özelliğinin olmaması (yani kaynağı görüntüleme) kod navigasyon özelliğinin ve de derleme zamanı kontrollerinin desteklenmemesiydi.
Strongly Typed Veri Kontrolleri
ASP.NET’in bir sonraki sürümünde veri şablonları için strongly-typed yeteneği etkinleştirilmiştir. Özellikle veriye ait ne tür bir kontrol oluşturulacaksak bu yeteneği sağlayacak veri kontrolleri üzerinde ModelType adında yeni bir özellik(property) eklendi. Bu özelliğin ayarlanmasında iki yeni değişken türü Item ve BindItem data bound template ifadeleri kullanılır.
Developerlar bu değişkenler sayesinde tam intellisense ve derleme zamanı denetim desteği alabilirler. Örneğin aşağıdaki "costumer" nesnesi için <asp:repeater> kontrolü üzerinde bir ModelType ekledik. Burada Eval("FirstName") ifadesinin yerine Item kullanarak FirstName propertisinin referans aldığını görüyoruz.
Bu işlemi Visual Studio kod intellisense içerisinde görmek istersek:
İkinci bir yol için, BindItem ifadesini kullanarak strongly-typed şeklinde yazılışına bakalım.
Bu esnada hatalı bir yazım gerçekleşirse aşağıda gördüğünüzü gibi intellisence özelliği sayesinde geri bildirim ile karşılaşırsınız.
Bu yazıda vNext Serisinin ikincisi anlatılmaktadır.
.NET ve Visual Studio’nun vNext tarafında çok fazla yenilik ve özelliklerle karşılaşılmaktadır. Bununla beraber ASP.NET vNext ile de webForm ve MVC’lerde olduğu kadar gerçekten heyecan verici gelişmelerin olduğunu göreceksiniz.
.NET ve Visual Studio’nun vNext tarafında çok fazla yenilik ve özelliklerle karşılaşılmaktadır. Bununla beraber ASP.NET vNext ile de webForm ve MVC’lerde olduğu kadar gerçekten heyecan verici gelişmelerin olduğunu göreceksiniz.
Bugün kü yazımızda ilk olarak WebFormlar üzerindeki gelişmelerden bahsedeceğiz, ardından yeni desteklenen Strongly Typed data kontrollerini tanıyacağız.
Arkaplandaki bazı Veri Kontol Şablonları
ASP.NET Web Formları "şablon" conseptini daha ilk sürümüyle başlangıçta tanıtmıştı. Şablonlar, server kontrolleri tarafında genellikle veri bağlantısı(data-binding) sağlayan ifadeler kullanılarak biçimlendirme, genişletme (override etme) gibi özelleştirmeler yapmanıza olanak sağlar.
Bugün bir şablon içerisinde data-binding işlemiyle veriye bağlanmak için, late-bound ifadelerini kullanabilirsiniz. Örneğin aşağıdaki gibi ASP.NET Repeater kontrolleri içinde veri bağlama işlemi için Eval() yardımcı metodunun Ad, Soyad özelliklerinden yararlandık.

Bugün iki yolla veri bağlantısı yaparken, bir diğer yol olan Bind() yardımcı metodunun kullanımınada örnek verelim.

Yukarıdaki yaklaşımda veri bağlantısı yaparken çağrılan Eval() ve Bind() metotlarına ait property isimlerinin gösteriminin es geçilmesidir. Yani bunun anlamı şu; metoda ait üye isimlerinin intelliSense özelliğinin olmaması (yani kaynağı görüntüleme) kod navigasyon özelliğinin ve de derleme zamanı kontrollerinin desteklenmemesiydi.
Strongly Typed Veri Kontrolleri
ASP.NET’in bir sonraki sürümünde veri şablonları için strongly-typed yeteneği etkinleştirilmiştir. Özellikle veriye ait ne tür bir kontrol oluşturulacaksak bu yeteneği sağlayacak veri kontrolleri üzerinde ModelType adında yeni bir özellik(property) eklendi. Bu özelliğin ayarlanmasında iki yeni değişken türü Item ve BindItem data bound template ifadeleri kullanılır.
Developerlar bu değişkenler sayesinde tam intellisense ve derleme zamanı denetim desteği alabilirler. Örneğin aşağıdaki "costumer" nesnesi için <asp:repeater> kontrolü üzerinde bir ModelType ekledik. Burada Eval("FirstName") ifadesinin yerine Item kullanarak FirstName propertisinin referans aldığını görüyoruz.
Bu işlemi Visual Studio kod intellisense içerisinde görmek istersek:

İkinci bir yol için, BindItem ifadesini kullanarak strongly-typed şeklinde yazılışına bakalım.

Bu esnada hatalı bir yazım gerçekleşirse aşağıda gördüğünüzü gibi intellisence özelliği sayesinde geri bildirim ile karşılaşırsınız.
