Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ControlAdapter, classe

Personnalise le rendu pour le contrôle dérivé auquel l'adaptateur est joint, afin de modifier le balisage par défaut ou le comportement de navigateurs spécifiques, et constitue la classe de base à partir de laquelle sont hérités tous les adaptateurs de contrôles.

Espace de noms :  System.Web.UI.Adapters
Assembly :  System.Web (dans System.Web.dll)
public abstract class ControlAdapter

Le type ControlAdapter expose les membres suivants.

  NomDescription
Méthode protégéeControlAdapterInfrastructure. Initialise une nouvelle instance de la classe ControlAdapter.
Début
  NomDescription
Propriété protégéeBrowserReçoit une référence aux fonctionnalités de navigation du client effectuant la demande HTTP en cours.
Propriété protégéeControlReçoit une référence au contrôle auquel cet adaptateur de contrôles est joint.
Propriété protégéePageReçoit une référence à la page sur laquelle réside le contrôle associé à cet adaptateur.
Propriété protégéePageAdapterReçoit une référence à l'adaptateur de page pour la page sur laquelle réside le contrôle associé.
Début
  NomDescription
Méthode protégéeBeginRenderAppelé avant le rendu d'un contrôle. Dans une classe d'adaptateur dérivée, génère des balises d'ouverture requises par une cible spécifique mais pas par les navigateurs HTML.
Méthode protégéeCreateChildControlsCrée les contrôles enfants spécifiques à la cible pour un contrôle composite.
Méthode protégéeEndRenderAppelé après le rendu d'un contrôle. Dans une classe d'adaptateur dérivée, génère des balises de fermeture requises par une cible spécifique mais pas par les navigateurs HTML.
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéeFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéeLoadAdapterControlStateCharge des informations sur l'état du contrôle d'adaptateur qui ont été enregistrées par SaveAdapterControlState, lors d'une demande antérieure, sur la page sur laquelle réside le contrôle associé à cet adaptateur de contrôles.
Méthode protégéeLoadAdapterViewStateCharge des informations sur l'état d'affichage de l'adaptateur qui ont été enregistrées par SaveAdapterViewState, lors d'une demande antérieure, sur la page sur laquelle réside le contrôle associé à cet adaptateur de contrôles.
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégéeOnInitSubstitue la méthode OnInit au contrôle associé.
Méthode protégéeOnLoadSubstitue la méthode OnLoad au contrôle associé.
Méthode protégéeOnPreRenderSubstitue la méthode OnPreRender au contrôle associé.
Méthode protégéeOnUnloadSubstitue la méthode OnUnload au contrôle associé.
Méthode protégéeRenderGénère le balisage spécifique à la cible pour le contrôle auquel l'adaptateur de contrôles est attaché.
Méthode protégéeRenderChildrenGénère la balise spécifique à la cible pour les contrôles enfants dans un contrôle composite auquel l'adaptateur de contrôles est joint.
Méthode protégéeSaveAdapterControlStateEnregistre les informations sur l'état de contrôle pour l'adaptateur de contrôles.
Méthode protégéeSaveAdapterViewStateEnregistre les informations sur l'état d'affichage pour l'adaptateur de contrôles.
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début

Les adaptateurs de contrôles sont des composants qui substituent certaines méthodes de la classe Control et certains événements de son cycle de vie d'exécution afin d'autoriser la gestion du navigateur ou celle qui est spécifique au balisage. Le .NET Framework mappe un adaptateur de contrôles dérivés seul à un objet Control pour chaque demande du client.

Un adaptateur modifie le contrôle d'un navigateur ou d'une classe de navigateurs spécifique, ou agit comme un filtre arbitraire sur certaines fonctions. En général l'adaptateur est défini par le langage de balisage utilisé par le navigateur (par exemple, XHTML ou HTML 3.2). La faculté d'adaptation du comportement du rendu peut en grande partie être encapsulée dans les classes spécialisées qui dérivent de la classe HtmlTextWriter. Par conséquent, il est probable qu'un même adaptateur pourra être utilisé pour plusieurs comportements de classe de navigateur ou que cette inclusion de l'adaptabilité dans les classes HtmlTextWriter rendra superflue l'utilisation d'un adaptateur de contrôles.

Un adaptateur pour une classe de contrôle s'applique à tous les contrôles qui héritent de cette classe, à moins que des adaptateurs plus spécialisés soient présents. Par exemple, un adaptateur pour la classe BaseValidator peut être utilisé pour tous les objets Validator.

Les adaptateurs n'héritent généralement pas directement de la classe ControlAdapter, mais de l'une des classes de base de l'adaptateur spécifiques à la cible, qui fournissent des fonctionnalités supplémentaires spécifiques au type de contrôle et au navigateur cible ou au rendu particulier.

Les contrôles proprement dits n'exigent pas nécessairement d'adaptateur. Si les contrôles sont étendus à travers la composition, les adaptateurs de contrôles enfants sont généralement suffisants.

Des mappages explicites vers des adaptateurs sont définis pour chaque contrôle dans les fichiers de définition browser. Ainsi, tout accès à la propriété Control.Adapter utilise l'objet HttpBrowserCapabilities extrait des fichiers de définition de navigateur pour rechercher le mappage de l'adaptateur à contrôler.

Au cours du processus, le .NET Framework intercepte les appels aux méthodes substituables d'un contrôle qui pourraient être spécifiques à la cible. Si un adaptateur de contrôles est attaché, le .NET Framework appelle les méthodes associées à l'adaptateur.

L'adaptateur exécute le rendu pour le contrôle à travers la méthode Render. En cas de substitution, Render ne devrait pas appeler l'implémentation de la classe de base parce que cette action exécute un rappel sur la méthode Control.Render. Le rendu peut alors se produire deux fois, une fois par l'adaptateur et une fois par le contrôle.

La méthode de base Render rappelle la méthode Control.Render du contrôle. Donc, si vous substituez Render, vous ne devez pas appeler l'implémentation de classe de base à moins que le rendu que vous implémentez ne vienne s'ajouter à celui fourni par Control.Render du contrôle.

Vous devez garantir que le .NET Framework exécute l'interception pour les adaptateurs des contrôles enfants. Vous pouvez faire ceci en appelant la méthode de base RenderChildren qui appelle la méthode Control.RenderChildren du contrôle à partir de votre substitution Render.

Les méthodes BeginRender et EndRender sont appelées par le contrôle immédiatement avant et après (respectivement) que le contrôle appelle la méthode Render. Si le pré-rendu et le post-rendu sont les seules tâches de traitement spécifiques au navigateur requises, l'utilisation de BeginRender et EndRender peut rendre superflue la substitution de Render. Le comportement par défaut des méthodes BeginRender et EndRender revient à appeler les méthodes correspondantes de HtmlTextWriter.

Pour maintenir ses propres informations d'état, un adaptateur de contrôles peut substituer les méthodes SaveAdapterControlState, LoadAdapterControlState, SaveAdapterViewState et LoadAdapterViewState. SaveAdapterControlState , SaveAdapterViewState, LoadAdapterControlStateet LoadAdapterViewState sont appelés lorsque le contrôle privé et les états d'affichage sont enregistrés et chargés, respectivement.

OnInit , OnLoad, OnPreRenderet les méthodes de base OnUnload rappellent les méthodes de classe Control correspondantes. Donc, chacune de ces méthodes ControlAdapter substituées doit appeler ses méthodes de base ; sinon, l'événement associé à la méthode de classe Control ne sera pas déclenché.

Les contrôles et adaptateurs implémentent éventuellement les interfaces IPostBackDataHandler et IPostBackEventHandler. Le .NET Framework détermine si un adaptateur existe et si l'adaptateur implémente ces interfaces. S'il le fait, l'adaptateur doit substituer les méthodes LoadPostData, RaisePostDataChangedEvent et RaisePostBackEvent, selon les besoins. Si les données de publication ne sont pas reconnues dans l'adaptateur, il doit effectuer un rappel sur le contrôle pour les traiter. Les gestionnaires d'événements suivants doivent également effectuer un rappel sur le contrôle.

Remarques à l'attention des héritiers

Lorsque vous héritez de la classe ControlAdapter, un contrôle qui requiert les fonctionnalités d'adaptateur générales doit avoir une classe de base d'adaptateur correspondante, nommée dans le motif ControlTypeAdapter (par exemple, TextBoxAdapter). L'adaptateur doit retourner au minimum une instance fortement typée du contrôle à travers sa propriété Control.

  1. Les adaptateurs de contrôles pour un type de contrôle et un langage de balisage spécifiques doivent être nommés selon le modèle MarkupControlTypeAdapter (par exemple XhtmlTextBoxAdapter). Les adaptateurs d'un contrôle doivent être implémentés dans un sous-espace de noms Adapters.

Les adaptateurs de contrôles doivent hériter de la classe de base appropriée et suivre le même modèle d'héritage que le contrôle. Par exemple, un adaptateur pour un contrôle héritant de la classe de base Control doit hériter de la classe ControlAdapter ou de la classe ControlTypeAdapter appropriée.

Tous les adaptateurs spécialisés doivent être définis, pour le contrôle spécialisé, sous tous les nœuds d'appareil mobile dans les fichiers de configuration browser.

Un contrôle implémenté correctement ne doit pas supposer qu'un adaptateur est joint, ou que l'adaptateur attaché implémente une interface spécifique. À la place, il doit vérifier ceux-ci avant d'effectuer un appel.

Il est possible de simuler la substitution de méthodes d'événement protégées dans le contrôle, comme la méthode OnClick du LinkButton. En premier lieu, créez une classe d'adaptateur avec une méthode OnClick. Puis créez un nouveau contrôle dérivé de LinkButton et substituez la méthode OnClick. La méthode OnClick substituée appelle la méthode OnClick de l'adaptateur. L'objet d'adaptateur est disponible par le biais de la propriété Adapter protégée de la classe Control. La propriété Adapter du contrôle a la valeur null lorsqu'il n'y a pas d'adaptateur associé, tout code doit donc vérifier cette condition avant d'appeler des méthodes de l'adaptateur.

.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.