PersonalizableAttribute Classe

Définition

Représente l’attribut de personnalisation. Cette classe ne peut pas être héritée.

public ref class PersonalizableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class PersonalizableAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property)>]
type PersonalizableAttribute = class
    inherit Attribute
Public NotInheritable Class PersonalizableAttribute
Inherits Attribute
Héritage
PersonalizableAttribute
Attributs

Exemples

L’exemple de code suivant montre comment utiliser la classe dans le PersonalizableAttribute code. L’exemple se compose d’une page .aspx qui fait référence à un contrôle utilisateur de composant WebPart appelé ColorSelector.ascx. Le code suivant est le fichier .aspx de l’exemple.

<%@ Page Language="C#"  %>
<%@ Register TagPrefix="uc1" TagName="colorcontrol" Src="ColorSelector.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
       
<body>
    <form id="form1" runat="server">
      <div>
         <asp:LoginName ID="LoginName1" runat="server" />
         
        <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="RedirectToLoginPage" />
            <br />
        <br />
         <asp:WebPartManager ID="WebPartManager1" runat="server">
        </asp:WebPartManager>
    
    </div>
        <asp:WebPartZone ID="WebPartZone1" runat="server"  Height="200" Width="200">
        <ZoneTemplate>
        <uc1:colorcontrol id="colorcontrol" runat="server" />
        </ZoneTemplate>
        </asp:WebPartZone>        
    </form>
</body>
</html>

Le code suivant concerne le ColorSelector.ascx contrôle.

Important

Cet exemple contient une zone de texte qui accepte l’entrée utilisateur, qui est une menace de sécurité potentielle. Par défaut, ASP.NET pages web valident que l’entrée utilisateur n’inclut pas de script ou d’éléments HTML. Pour plus d’informations, consultez Vue d’ensemble des exploits de script.

<%@ Control Language="C#" %>

<script runat="server">
private System.Drawing.Color userchoice;

[Personalizable]
public System.Drawing.Color UserColorChoice
{
   get
   {
     return userchoice;
   }
   set
   {
     userchoice = value;
   }
}

protected void OnRed(object src, EventArgs e)
{
  _color.BackColor = System.Drawing.Color.Red;
  UserColorChoice = System.Drawing.Color.Red;
}

protected void OnGreen(object src, EventArgs e)
{
  _color.BackColor = System.Drawing.Color.Green;
  UserColorChoice = System.Drawing.Color.Green;
}

protected void OnBlue(object src, EventArgs e)
{
  _color.BackColor = System.Drawing.Color.Blue;
  UserColorChoice = System.Drawing.Color.Blue;
}

protected void Page_Init(object src, EventArgs e)
{
  _redButton.Click   += new EventHandler(OnRed);  
  _greenButton.Click += new EventHandler(OnGreen);  
  _blueButton.Click  += new EventHandler(OnBlue);  
}

protected void Page_Load(object src, EventArgs e)
{
  if (!IsPostBack)
  {
          _color.BackColor = UserColorChoice;
  }
}

</script>
<body>
    <div>
        <asp:TextBox ID="_color" runat="server" Height="100" Width="100" />
        <br />
        <asp:button runat="server"  id="_redButton" text="Red"  /> 
          
        <asp:button runat="server"  id="_greenButton" text="Green" />
          
        <asp:button runat="server" id="_blueButton" text="Blue" />
    </div>
</body>

Remarques

L’attribut de personnalisation, est Personalizableappliqué aux propriétés de contrôle public qui doivent conserver les informations de personnalisation. ASP.NET génère automatiquement le code pour conserver ou récupérer ces valeurs à partir du magasin de données sous-jacent lorsque le contrôle se trouve dans une zone de composants WebPart sur une page de composants WebPart.

Les conditions suivantes doivent être remplies pour qu’une propriété soit marquée comme personalisable :

  • La propriété doit être publique et doit avoir des accesseurs publics get et set.

  • La propriété doit être une propriété en lecture/écriture.

  • La propriété doit être sans paramètres.

  • Impossible d’indexer la propriété.

Le code est généré automatiquement pour charger et enregistrer des données de personnalisation pour les propriétés. Les propriétés qui prennent en charge la personnalisation sont déterminées en fonction de l’existence de cet attribut sur la propriété et du fait que la propriété est conforme aux contraintes répertoriées ci-dessus.

Notez que les propriétés en lecture seule et en écriture seule ne sont pas prises en charge pour la personnalisation. L’application de cet attribut à une propriété en lecture seule ou en écriture seule entraîne une HttpException levée. Les propriétés paramétrables lèvent également une HttpException exception.

Les propriétés individuelles sans cet attribut sont exclues de la personnalisation si aucune gestion spéciale par le biais de l’interface IPersonalizable n’est utilisée.

Pour plus d’informations sur l’utilisation d’attributs, consultez Vue d’ensemble de la personnalisation des composants WebPart.

Constructeurs

Nom Description
PersonalizableAttribute()

Initialise une nouvelle instance de la classe PersonalizableAttribute.

PersonalizableAttribute(Boolean)

Initialise une nouvelle instance de la classe à l’aide PersonalizableAttribute du paramètre fourni.

PersonalizableAttribute(PersonalizationScope, Boolean)

Initialise une nouvelle instance de la classe à l’aide PersonalizableAttribute des paramètres fournis.

PersonalizableAttribute(PersonalizationScope)

Initialise une nouvelle instance de la classe à l’aide PersonalizableAttribute du paramètre fourni.

Champs

Nom Description
Default

Retourne une instance d’attribut qui indique qu’aucune prise en charge de la personnalisation n’est prise en charge. Ce champ est en lecture seule.

NotPersonalizable

Retourne une instance d’attribut qui indique qu’aucune prise en charge de la personnalisation n’est prise en charge. Ce champ est en lecture seule.

Personalizable

Retourne une instance d’attribut qui indique la prise en charge de la personnalisation. Ce champ est en lecture seule.

SharedPersonalizable

Retourne une instance d’attribut qui indique la prise en charge de la personnalisation avec une étendue partagée. Ce champ est en lecture seule.

UserPersonalizable

Retourne une instance d’attribut qui indique la prise en charge de la personnalisation dans l’étendue User . Ce champ est en lecture seule.

Propriétés

Nom Description
IsPersonalizable

Obtient le paramètre qui indique si l’attribut peut être personnalisé, comme établi par l’un des constructeurs.

IsSensitive

Obtient le paramètre qui indique si l’attribut est sensible, comme établi par l’un des constructeurs.

Scope

Obtient la PersonalizationScope valeur d’énumération de l’instance de classe, telle que définie par l’un des constructeurs.

TypeId

En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute.

(Hérité de Attribute)

Méthodes

Nom Description
Equals(Object)

En cas de substitution, retourne une évaluation booléenne de l’instance actuelle et PersonalizableAttribute une autre PersonalizableAttribute instance fournie en tant que paramètre.

GetHashCode()

En cas de substitution, retourne un code de hachage de l’attribut.

GetPersonalizableProperties(Type)

Retourne une collection d’objets PropertyInfo pour les propriétés qui correspondent au type de paramètre et qui sont marqués comme personnalisables.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution, retourne une valeur qui indique si l’instance d’attribut est égale à la valeur du champ statique Default .

Match(Object)

Retourne une valeur qui indique si l’instance actuelle et PersonalizableAttribute l’instance spécifiée PersonalizableAttribute ont la même IsPersonalizable valeur de propriété.

MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type d’un objet, qui peuvent être utilisées pour obtenir les informations de type d’une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l’accès aux propriétés et méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à