Partager via


Propriétés dans les contrôles serveur ASP.NET

Les propriétés sont analogues à des champs, mais possèdent des méthodes d'accesseurs. Vous devez exposer des propriétés plutôt que des champs publics à partir de vos contrôles, car les propriétés autorisent le masquage des données, permettent de gérer les versions et sont prises en charge par des concepteurs visuels tels que Visual Studio .NET. Les fonctions des accesseurs peuvent exécuter une logique de programme supplémentaire, en plus de la définition ou de l'extraction d'une propriété. Si vous n'êtes pas familiarisé avec les propriétés, consultez Vue d'ensemble des propriétés.

Propriétés héritées de Control

Pour obtenir la liste complète des propriétés qu'un contrôle hérite de la classe Control, consultez System.Web.UI.Control. La liste suivante décrit certaines des propriétés faisant fréquemment l'objet d'un accès.

  • Controls : Collection des contrôles enfants d'un contrôle.
  • ID : Identificateur fourni par l'utilisateur pour un contrôle.
  • Page : Page qui contient le contrôle.
  • Parent : Contrôle comprenant la collection Controls à laquelle appartient un contrôle. (Le contrôle A est un parent du contrôle B si B est un élément de A.Controls.)
  • ViewState : Structure de données envoyée au client, puis retournée, généralement utilisée pour conserver les données de formulaire entre les allers-retours. ViewState est de type StateBag, c'est-à-dire un dictionnaire qui stocke les données sous la forme de paires nom/valeur.
  • EnableViewState : Indique si un contrôle conserve son état d'affichage entre les allers-retours. Si un contrôle parent ne conserve pas son état d'affichage, l'état d'affichage de ses contrôles enfants est automatiquement non persistant.
  • UniqueID : Identificateur unique qualifié sur le plan hiérarchique assigné à un contrôle par l'infrastructure de page ASP.NET.
  • ClientID : Identificateur unique assigné à un contrôle par l'infrastructure de page ASP.NET et rendu sous la forme d'un attribut ID HTML sur le client. ClientID est différent de UniqueID, car UniqueID peut contenir le caractère deux-points (:), qui n'est pas valide dans l'attribut ID HTML (et n'est pas autorisé dans les noms de variables du script côté client).
  • Visible : Détermine si un contrôle est visible sur une page.

Propriétés héritées de WebControl

Si un contrôle dérive de WebControl, il hérite de propriétés supplémentaires liées à l'affichage visuel. Pour obtenir la liste complète des propriétés héritées de WebControl, consultez System.Web.UI.WebControl. La liste suivante décrit certaines des propriétés de WebControl faisant fréquemment l'objet d'un accès.

  • Font : Police du contrôle.
  • ForeColor : Couleur de premier plan du contrôle.
  • BackColor : Couleur d'arrière-plan du contrôle.
  • Height : Hauteur du contrôle.
  • Width : Largeur du contrôle.
  • Attributes : Collection de paires nom/valeur rendues au client sous la forme d'attributs. La propriété Attributes contient l'union des attributs définis par déclaration qui ne correspondent pas à des propriétés (ou événements) du contrôle ainsi que celles qui sont définies par programme.

WebControl expose également plusieurs feuilles de style en cascade (CSS, Cascading Style Sheet) supplémentaires sous la forme de propriétés fortement typées.

Personnalisation des propriétés héritées

Un contrôle peut substituer une propriété héritée pour la personnaliser. Pour substituer une propriété, vous devez substituer ses accesseurs. L'exemple suivant illustre un contrôle qui dérive de Button et substitue la propriété BackColor de sorte que la couleur d'arrière-plan est toujours verte.

using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
namespace CustomControls
{
public class DerivedButton : Button
  {
   public DerivedButton() : base()
       {
          base.BackColor = Color.Green;
       }
   public override Color BackColor
   {
      get
         {
            return base.BackColor; 
          }
      set
         {
             // Do nothing.
         }
   }

  }
}
[Visual Basic]
Option Explicit
Option Strict

Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Drawing

Namespace CustomControls
   Public Class DerivedButton
      Inherits Button
      
      Public Sub New()
         MyBase.BackColor = Color.Green
      End Sub
      
      Public Overrides Property BackColor() As Color
         Get
            Return MyBase.BackColor
         End Get
         Set
            ' Do nothing.
         End Set
      End Property 
   End Class
End Namespace

Vous pouvez également modifier les métadonnées d'une propriété en substituant (ou en fournissant) un attribut. Le fragment de code suivant illustre le masquage de la propriété BackColor à partir de la fenêtre de propriétés d'un concepteur tel que Visual Studio .NET en remplaçant la valeur de BrowsableAttribute par false.

[Browsable(false)]
public override Color BackColor{...}
[Visual Basic]
<Browsable(False)> _
Public Overrides Property BackColor() As Color
   ...
End Property

Voir aussi

Définition d'une propriété | Types de propriétés | Exemple de propriété personnalisée