Cette documentation est archivée et n’est pas conservée.

Contrôles de rendu des champs

Windows SharePoint Services 3

Vous pouvez utiliser une classe de contrôle de rendu, en association avec un modèle de rendu, pour afficher vos champs personnalisés en mode Nouveau ou Modifier. (Ces classes permettent également d'afficher un champ en mode d'affichage, mais il est plus courant d'utiliser un schéma de rendu défini dans une définition de champ pour afficher des champs en mode d'affichage.)

Une classe de contrôle de rendu doit hériter de BaseFieldControl ou d'une des classes dans Windows SharePoint Services qui en dérivent. Cette classe est compilée dans le même assembly que la classe de champ personnalisé.

Nous vous recommandons d'utiliser la convention d'affectation de noms suivante lorsque vous créez des classes de champs personnalisés dérivées, directement ou indirectement, de la classe BaseFieldControl :

nom_type_champ FieldControl

, par exemple, TargetDateFieldControl ou RegularExpressionFieldControl. (Les classes dérivées de BaseFieldControl fournies avec Windows SharePoint Services 3.0 ont été créées avant la détermination de cette convention d'affectation de noms et respectent le modèle nom_type_champField, par exemple DateTimeField.)

Un objet qui instancie un contrôle de rendu détient, dans sa propriété Field, une référence à l'objet champ qu'il affiche. Ce dernier contient une référence à son contrôle de rendu dans sa propriété FieldRenderingControl. Comme le suggèrent ces références réciproques, les deux objets sont partenaires. L'objet dérivé de SPField gère l'interaction avec la base de données de contenu, tandis que le contrôle de rendu dérivé de BaseFieldControl gère l'interaction avec les utilisateurs et l'affichage du champ dans l'interface utilisateur.

Modèle de rendu

À chaque contrôle de rendu est associé au moins un modèle de rendu. Un objet RenderingTemplate est défini en tant qu'élément RenderingTemplate dans un fichier .ascx dans le dossier C:\program files\common files\microsoft shared\web server extensions\12\template\controltemplates. Le modèle de rendu est référencé par sa valeur ID dans la propriété TemplateName de l'objet contrôle de rendu.

Remarque Remarque :

BaseFieldControl hérite, de TemplateBasedControl, les membres qui lui permettent d'être liés à plusieurs modèles de rendu et de basculer de l'un à l'autre en fonction du contexte de rendu.

Pour plus d'informations sur les modèles de rendu, voir Modèles de rendu de champ.

Méthode CreateChildControls

Une classe de contrôle de rendu substitue la méthode CreateChildControls qu'elle hérite de Control. Dans la mesure où le modèle de rendu effectue la plus grande partie du travail de rendu, la méthode CreateChildControls a beaucoup moins de travail à réaliser que dans une classe de contrôle ASP.NET classique. En général, elle apporte uniquement une touche finale aux contrôles enfants. Par exemple, elle peut affecter une valeur par défaut à un contrôle enfant en mode Nouveau ou la valeur actuelle du champ à un contrôle enfant en mode Modifier. Il est peu probable que vos substitutions de CreateChildControls contiennent un nombre élevé d'opérateurs new créant des contrôles enfants (ce qui pourrait vous surprendre si vous avez de l'expérience dans le domaine de la programmation ASP.NET).

Une logique de validation de données est parfois incluse dans CreateChildControls. Pour plus d'informations sur la validation des données des champs personnalisés, voir Validation des données du champ personnalisé.

Voir aussi

Afficher: