ASP.NET Kontrol Adaptörleri

asp kontrol

ASP.NET Kontrol Adaptörleri

Web tasarımı ve ASP.NET geniş içerikleri konulardır. ASP.NET’in bir diğer konusu ise Kontrol Adaptörleri’nin kurulmasıdır. Kontrol adaptörleri özünde kontrollerin kendisini değiştirmeden çeşitli renderign’ler sağlamaya yarayan bir yoldur. Kontrol adaptörleri değişik istemciler için değişik renderignler sunmak üzere tasarlandıkları için kontrol adaptör eşlemelerini bir .browser dosyasından belirleriz. User Agent string’leri ile browser’ın yetenekleri arasındaki ilişkilendirmeler de burada tanımlanmaktadır. Kontrol adaptör class’ın kendisi System.Web.UI.Adapters. ControlAdapter’dan türemedir.Bu diğer Control base class’ları gibi görünen soyut bir base class’tır. İçinde lnit, Load, PreRender ve Unload’a ait event metotlar ve sanal bir Render metodu vardır. Bir Kontrol render edildiği zaman Control Base class’ı önce o anda kontrolle ilişkili bir adaptör var mı diye bakar. Varsa adaptörün Render metoduna başvurur. Yoksa kontrolün standart Render metodunu çağırır.

Kendi kontrol adaptörünüzü oluşturmak için önce ControlAdapter base class’ından yada bunun WebControlAdapter gibi bir türevinden miras alan yeni bir class oluşturursunuz. Hangi kontrol adaptöründen türeteceğiniz hangi kontrol için yaptığınıza bağlı olarak değişir. Bu adaptörler bir web mastera web tasarım yaparken kullanılacak uygulamalardır. Eğer dahili WebControls’den biriyse WebControlAdapter’ı seçmelisiniz. Çünkü bu sana RenderBegin Tag, RenderEndTag ve RenderContens metotlarınıda ekleyecek ve WebControls’ün render işlemi hakkında daha ii bilgi verecektir.

Kontrol adaptörü kurarak bir kontrolün renderin’i değiştirmeye örnek olarak BulletedList’i ele alalım. BulletedListControlAdapter adında bir kontrol adaptörü oluşturabilirsiniz.. BulletedList bir dizi öğeyi sıralı ya da sırasız bir liste (<ol> veya <ul >) olacak şekinde render eden basit bir kontroldür. Tüm adaptörler web dizayn kontrollerinde esnek  yapıdadır.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir