PersonalizableAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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) |