ControlAdapter Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirli tarayıcıların varsayılan işaretlemesini veya davranışını değiştirmek için bağdaştırıcının bağlı olduğu türetilmiş denetim için işlemeyi özelleştirir ve tüm denetim bağdaştırıcılarının devraldığı temel sınıftır.
public ref class ControlAdapter abstract
public abstract class ControlAdapter
type ControlAdapter = class
Public MustInherit Class ControlAdapter
- Devralma
-
ControlAdapter
- Türetilmiş
Açıklamalar
Denetim bağdaştırıcıları, tarayıcıya veya işaretlemeye özgü işlemeye izin vermek için yürütme yaşam döngüsündeki belirli Control sınıf yöntemlerini ve olaylarını geçersiz kılan bileşenlerdir. .NET Framework, her istemci isteği için tek bir türetilmiş denetim bağdaştırıcısını bir Control nesneye eşler.
Bağdaştırıcı, belirli bir tarayıcı veya tarayıcı sınıfı için denetimi değiştirir veya bazı özelliklerde rastgele bir filtre işlevi görür. Bağdaştırıcı genellikle tarayıcının kullandığı işaretleme diliyle tanımlanır (örneğin, XHTML veya HTML 3.2). İşleme davranışındaki uyarlanabilirliğin çoğu, sınıfından türetilen HtmlTextWriter özel sınıflarda kapsüllenebilir. Bu nedenle, tek bir bağdaştırıcının bir dizi tarayıcı sınıfı davranışı için kullanılabilmesi veya uyarlanabilirliğin HtmlTextWriter sınıflara eklenmesi, denetim bağdaştırıcısının kullanılmasını gereksiz hale getirebilir.
Bir denetim sınıfı için bağdaştırıcı, daha özel bağdaştırıcılar olmadığı sürece bu sınıftan devralan tüm denetimler için geçerlidir. Örneğin, sınıfı için BaseValidator bir bağdaştırıcı tüm Validator
nesneler için kullanılabilir.
Bağdaştırıcılar genellikle doğrudan sınıfından ControlAdapter değil, denetim türüne ve hedef tarayıcıya veya gerekli işlemeye özgü ek işlevler sağlayan hedefe özgü bağdaştırıcı temel sınıflarından birinden devralır.
Denetimlerin kendileri için mutlaka bir bağdaştırıcı gerekmez. Denetimler bileşim aracılığıyla genişletilirse, genellikle alt denetim bağdaştırıcıları yeterlidir.
Her denetimin .browser tanım dosyaları aracılığıyla bağdaştırıcılarla açık eşlemeleri vardır. Bu nedenle, özelliğine Control.Adapter herhangi bir erişim, tarayıcı tanım dosyalarından ayıklanan nesneyi kullanarak HttpBrowserCapabilities bağdaştırıcının denetlenecek eşlemesi için arama gerçekleştirir.
İşleme sırasında, .NET Framework hedefe özgü olabilecek bir denetimin geçersiz kılınabilir yöntemlerine çağrılar durdurur. Bir denetim bağdaştırıcısı takılıysa, .NET Framework ilişkili bağdaştırıcı yöntemlerini çağırır.
Bağdaştırıcı, yöntemi aracılığıyla Render denetim için işleme gerçekleştirir. Geçersiz kılınırsa, Render yönteminde geri Control.Render çağrı gerçekleştirdiği için temel sınıf uygulamasını çağırmama olasılığı vardır. Bu, işlemenin bir kez bağdaştırıcı ve bir kez denetim tarafından olmak üzere iki kez gerçekleşmesine neden olabilir.
Render Temel yöntem, denetimin Control.Render yöntemini geri çağırır. Bu nedenle, geçersiz kılarsanız Render, uyguladığınız işleme denetimi tarafından Control.Render sağlanan işlemeye ek olmadığı sürece temel sınıf uygulamasını çağırmamalısınız.
.NET Framework alt denetimlerin bağdaştırıcıları için kesme işlemi gerçekleştirdiğinden emin olmanız gerekir. Bunu, denetimin RenderChildren yöntemini geçersiz kılmanızdan Render çağıran temel yöntemi çağırarak Control.RenderChildren yapabilirsiniz.
BeginRender ve EndRender yöntemleri, denetimin yöntemini çağırdığı hemen önce ve sonra (sırasıyla) denetim tarafından çağrılırRender. Ön ve son işleme gereken tek tarayıcıya özgü işleme görevleriyse, kullanarak BeginRender ve EndRender kullanarak geçersiz kılmayı Rendergereksiz hale getirebilirsiniz. ve yöntemlerinin BeginRender varsayılan davranışı, karşılık gelen yöntemlerini çağırmaktırHtmlTextWriter.EndRender
Bir denetim bağdaştırıcısı, kendi durum bilgilerini korumak için , LoadAdapterControlState, SaveAdapterViewStateve LoadAdapterViewState yöntemlerini geçersiz kılabilirSaveAdapterControlState. SaveAdapterControlState, SaveAdapterViewState, LoadAdapterControlStateve LoadAdapterViewState özel denetim ve görünüm durumları sırasıyla kaydedildiğinde ve yüklendiğinde çağrılır.
OnInit, OnLoad, OnPreRenderve OnUnload temel yöntemleri karşılık gelen Control sınıf yöntemlerini geri çağırır. Bu nedenle, geçersiz kılınan bu ControlAdapter yöntemlerden herhangi birinin temel yöntemlerini çağırması gerekir; aksi takdirde, sınıf yöntemiyle Control ilişkili olay tetiklenmez.
Denetimler ve bağdaştırıcılar isteğe bağlı olarak ve IPostBackEventHandler arabirimlerini uygularIPostBackDataHandler. .NET Framework, bir bağdaştırıcının var olup olmadığını ve bağdaştırıcının bu arabirimleri uygulayıp uygulamadığını belirler. Varsa, bağdaştırıcının , ve RaisePostBackEvent yöntemlerini gerektiği gibi geçersiz kılması LoadPostDataRaisePostDataChangedEventgerekir. Geri gönderme verileri bağdaştırıcıda tanınmıyorsa, işlemek için denetimi yeniden çağırması gerekir. Sonraki olay işleyicileri de denetimde geri çağırmalıdır.
Uygulayanlara Notlar
sınıfından ControlAdapter devraldığınızda, genel bağdaştırıcı işlevselliği gerektiren bir denetimin, desende ControlType
Adapter
adlı karşılık gelen bir bağdaştırıcı temel sınıfı olmalıdır (örneğin, TextBoxAdapter
). Bağdaştırıcı, özelliği aracılığıyla Control denetimin kesin olarak belirlenmiş bir örneğini en azından döndürmelidir.
- Belirli bir denetim türü ve işaretleme dili için denetim bağdaştırıcıları desende
MarkupControlType
Adapter
(örneğin,XhtmlTextBoxAdapter
) adlandırılmalıdır. Bir denetimin bağdaştırıcıları birAdapters
alt ad alanına uygulanmalıdır.
Denetim bağdaştırıcıları uygun temel sınıftan devralmalı ve denetimle aynı devralma modelini izlemelidir. Örneğin, temel sınıftan devralan bir denetimin Control bağdaştırıcısı, sınıfından ControlAdapter veya ilgili ControlType
Adapter
sınıftan devralmalıdır.
Tüm özelleştirilmiş bağdaştırıcılar, yapılandırma .browser dosyalarındaki tüm cihaz düğümleri altında özel denetim için tanımlanmalıdır.
Düzgün uygulanan bir denetim, bir bağdaştırıcının bağlı olduğunu veya bağlı bağdaştırıcının belirli bir arabirim uyguladığını varsaymamalıdır. Bunun yerine, aramadan önce bunları denetlemesi gerekir.
denetiminde, yöntemi LinkButtongibi korumalı olay yöntemlerini geçersiz kılma benzetimi OnClick(EventArgs) yapmak mümkündür. İlk olarak, OnClick
yöntemiyle bir bağdaştırıcı sınıfı oluşturun. Ardından yönteminden LinkButton türetilmiş yeni bir denetim oluşturun ve yöntemini geçersiz kılın OnClick(EventArgs) . Geçersiz kılınan OnClick(EventArgs) yöntem, bağdaştırıcının OnClick
yöntemini çağırır. Bağdaştırıcı nesnesi, sınıfının korumalı Adapter özelliği Control aracılığıyla kullanılabilir. Adapter Denetimin özelliği, ilişkili bağdaştırıcı bulunmadığındadırnull
, bu nedenle bağdaştırıcının yöntemlerini çağırmadan önce herhangi bir kodun bu koşulu denetlemesi gerekir.
Oluşturucular
ControlAdapter() |
ControlAdapter sınıfının yeni bir örneğini başlatır. |
Özellikler
Browser |
Geçerli HTTP isteğini yapan istemcinin tarayıcı özelliklerine bir başvuru alır. |
Control |
Bu denetim bağdaştırıcısının bağlı olduğu denetime başvuru alır. |
Page |
Bu bağdaştırıcıyla ilişkili denetimin bulunduğu sayfaya başvuru alır. |
PageAdapter |
İlişkili denetimin bulunduğu sayfanın sayfa bağdaştırıcısına başvuru alır. |
Yöntemler
BeginRender(HtmlTextWriter) |
Denetimin işlenmesinden önce çağrılır. Türetilmiş bir bağdaştırıcı sınıfında, belirli bir hedef için gerekli olan ancak HTML tarayıcıları için gerekli olmayan açma etiketleri oluşturur. |
CreateChildControls() |
Bileşik denetim için hedefe özgü alt denetimleri oluşturur. |
EndRender(HtmlTextWriter) |
Denetimin işlenmesinden sonra çağrılır. Türetilmiş bir bağdaştırıcı sınıfında, belirli bir hedef için gerekli olan ancak HTML tarayıcıları için gerekli olmayan kapanış etiketleri oluşturur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
LoadAdapterControlState(Object) |
Önceki bir istek sırasında tarafından SaveAdapterControlState() bu denetim bağdaştırıcısıyla ilişkili denetimin bulunduğu sayfaya kaydedilen bağdaştırıcı denetim durumu bilgilerini yükler. |
LoadAdapterViewState(Object) |
Bu denetim bağdaştırıcısıyla ilişkili denetimin bulunduğu sayfaya önceki bir istek sırasında tarafından SaveAdapterViewState() kaydedilen bağdaştırıcı görünüm durumu bilgilerini yükler. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnInit(EventArgs) |
OnInit(EventArgs) İlişkili denetim için yöntemini geçersiz kılar. |
OnLoad(EventArgs) |
OnLoad(EventArgs) İlişkili denetim için yöntemini geçersiz kılar. |
OnPreRender(EventArgs) |
OnPreRender(EventArgs) İlişkili denetim için yöntemini geçersiz kılar. |
OnUnload(EventArgs) |
OnUnload(EventArgs) İlişkili denetim için yöntemini geçersiz kılar. |
Render(HtmlTextWriter) |
Denetim bağdaştırıcısının bağlı olduğu denetim için hedefe özgü işaretlemeyi oluşturur. |
RenderChildren(HtmlTextWriter) |
Denetim bağdaştırıcısının bağlı olduğu bileşik denetimde alt denetimler için hedefe özgü işaretlemeyi oluşturur. |
SaveAdapterControlState() |
Denetim bağdaştırıcısı için denetim durumu bilgilerini kaydeder. |
SaveAdapterViewState() |
Denetim bağdaştırıcısı için görünüm durumu bilgilerini kaydeder. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |