PersonalizableAttribute PersonalizableAttribute PersonalizableAttribute PersonalizableAttribute Class

Definizione

Rappresenta l'attributo di personalizzazione.Represents the personalization attribute. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class PersonalizableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class PersonalizableAttribute : Attribute
type PersonalizableAttribute = class
    inherit Attribute
Public NotInheritable Class PersonalizableAttribute
Inherits Attribute
Ereditarietà
PersonalizableAttributePersonalizableAttributePersonalizableAttributePersonalizableAttribute
Attributi

Esempi

Esempio di codice seguente viene illustrato come utilizzare il PersonalizableAttribute classe nel codice.The following code example demonstrates how to use the PersonalizableAttribute class in code. L'esempio è costituito da una pagina aspx che fa riferimento a un controllo utente Web Part denominato ColorSelector.ascx.The sample consists of an .aspx page that references a Web Part user control called ColorSelector.ascx. Il codice seguente è il file con estensione aspx per l'esempio.The following code is the .aspx file for the example.

<%@ 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>
        &nbsp;<asp:LoginName ID="LoginName1" runat="server" />
        &nbsp;
        <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="RedirectToLoginPage" />
        &nbsp;&nbsp;&nbsp;&nbsp;<br />
        <br />
        &nbsp;<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>

Il codice seguente è per il ColorSelector.ascx controllo.The following code is for the ColorSelector.ascx control.

Importante

L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza.This example has a text box that accepts user input, which is a potential security threat. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.For more information, see Script Exploits Overview.

<%@ 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"  /> 
        &nbsp;&nbsp;
        <asp:button runat="server"  id="_greenButton" text="Green" />
        &nbsp;&nbsp;
        <asp:button runat="server" id="_blueButton" text="Blue" />
    </div>
</body>

Commenti

L'attributo di personalizzazione, Personalizable, viene applicato alle proprietà pubbliche di controllo che è necessario rendere persistenti le informazioni sulla personalizzazione.The personalization attribute, Personalizable, is applied to public control properties that need to persist personalization information. ASP.NET genera automaticamente il codice per rendere persistenti o recuperare questi valori dall'archivio dati sottostante, quando il controllo si trova in una zona Web part in una pagina Web part.ASP.NET automatically generates the code to persist or retrieve these values from the underlying data store when the control is in a Web Parts zone on a Web Parts page.

Per una proprietà deve essere contrassegnato come personalizzabili devono essere soddisfatti i requisiti seguenti:The following requirements must be met for a property to be marked as personalizable:

  • La proprietà deve essere pubblica e deve avere pubblico get e set di funzioni di accesso.The property must be public and must have public get and set accessors.

  • La proprietà deve essere una proprietà di lettura/scrittura.The property must be a read/write property.

  • La proprietà deve essere senza parametri.The property must be without parameters.

  • La proprietà non può essere indicizzata.The property cannot be indexed.

Codice viene generato automaticamente per caricare e salvare i dati sulla personalizzazione per le proprietà.Code is automatically generated to load and save personalization data for properties. Proprietà che supportano la personalizzazione vengono determinate in base all'esistenza di questo attributo su proprietà e il fatto che la proprietà sia conforme ai vincoli elencati in precedenza.Properties that support personalization are determined based on the existence of this attribute on the property and the fact that the property conforms to the constraints listed above.

Si noti che le proprietà di sola lettura e in sola lettura non sono supportate per la personalizzazione.Note that read-only and write-only properties are not supported for personalization. Se si applica questo attributo a una proprietà di sola lettura o in sola lettura un HttpException generata.Applying this attribute to a read-only or write-only property results in an HttpException being thrown. Anche le proprietà con parametri generano un HttpException eccezione.Parameterized properties also throw an HttpException exception.

Le singole proprietà senza questo attributo vengono escluse dalla personalizzazione se alcuna gestione particolare tramite il IPersonalizable interfaccia viene utilizzata.Individual properties without this attribute are excluded from personalization if no special handling through the IPersonalizable interface is used.

Per altre informazioni sull'utilizzo di attributi, vedere Cenni preliminari sulla personalizzazione di parti Web.For more information about using attributes, see Web Parts Personalization Overview.

Costruttori

PersonalizableAttribute() PersonalizableAttribute() PersonalizableAttribute() PersonalizableAttribute()

Inizializza una nuova istanza della classe PersonalizableAttribute.Initializes a new instance of the PersonalizableAttribute class.

PersonalizableAttribute(Boolean) PersonalizableAttribute(Boolean) PersonalizableAttribute(Boolean) PersonalizableAttribute(Boolean)

Inizializza una nuova istanza della classe PersonalizableAttribute utilizzando il parametro fornito.Initializes a new instance of the PersonalizableAttribute class using the provided parameter.

PersonalizableAttribute(PersonalizationScope) PersonalizableAttribute(PersonalizationScope) PersonalizableAttribute(PersonalizationScope) PersonalizableAttribute(PersonalizationScope)

Inizializza una nuova istanza della classe PersonalizableAttribute utilizzando il parametro fornito.Initializes a new instance of the PersonalizableAttribute class using the provided parameter.

PersonalizableAttribute(PersonalizationScope, Boolean) PersonalizableAttribute(PersonalizationScope, Boolean) PersonalizableAttribute(PersonalizationScope, Boolean) PersonalizableAttribute(PersonalizationScope, Boolean)

Inizializza una nuova istanza della classe PersonalizableAttribute utilizzando i parametri forniti.Initializes a new instance of the PersonalizableAttribute class using the provided parameters.

Campi

Default Default Default Default

Restituisce un'istanza di attributo che indica che la personalizzazione non è supportata.Returns an attribute instance that indicates no support for personalization. Questo campo è di sola lettura.This field is read-only.

NotPersonalizable NotPersonalizable NotPersonalizable NotPersonalizable

Restituisce un'istanza di attributo che indica che la personalizzazione non è supportata.Returns an attribute instance that indicates no support for personalization. Questo campo è di sola lettura.This field is read-only.

Personalizable Personalizable Personalizable Personalizable

Restituisce un'istanza di attributo che indica che la personalizzazione è supportata.Returns an attribute instance that indicates support for personalization. Questo campo è di sola lettura.This field is read-only.

SharedPersonalizable SharedPersonalizable SharedPersonalizable SharedPersonalizable

Restituisce un'istanza di attributo che indica che la personalizzazione è supportata con un ambito condiviso.Returns an attribute instance that indicates support for personalization with a shared scope. Questo campo è di sola lettura.This field is read-only.

UserPersonalizable UserPersonalizable UserPersonalizable UserPersonalizable

Restituisce un'istanza di attributo che indica che la personalizzazione è supportata nell'ambito di User.Returns an attribute instance that indicates support for personalization in User scope. Questo campo è di sola lettura.This field is read-only.

Proprietà

IsPersonalizable IsPersonalizable IsPersonalizable IsPersonalizable

Ottiene l'impostazione che indica se l'attributo può essere personalizzato, come stabilito da uno dei costruttori.Gets the setting that indicates whether the attribute can be personalized, as established by one of the constructors.

IsSensitive IsSensitive IsSensitive IsSensitive

Ottiene l'impostazione che indica se l'attributo è riservato, come stabilito da uno dei costruttori.Gets the setting that indicates whether the attribute is sensitive, as established by one of the constructors.

Scope Scope Scope Scope

Ottiene il valore dell'enumerazione PersonalizationScope per l'istanza della classe, come impostato da uno dei costruttori.Gets the PersonalizationScope enumeration value for the class instance, as set by one of the constructors.

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Quando viene sottoposto a override, restituisce una valutazione Boolean dell'istanza corrente di PersonalizableAttribute e un'altra istanza di PersonalizableAttribute fornita come parametro.When overridden, returns a Boolean evaluation of the current instance of PersonalizableAttribute and another PersonalizableAttribute instance supplied as a parameter.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Quando viene sottoposto a override, restituisce un codice hash dell'attributo.When overridden, returns a hash code of the attribute.

GetPersonalizableProperties(Type) GetPersonalizableProperties(Type) GetPersonalizableProperties(Type) GetPersonalizableProperties(Type)

Restituisce un insieme di oggetti PropertyInfo per le proprietà corrispondenti al tipo di parametro e contrassegnate come personalizzabili.Returns a collection of PropertyInfo objects for the properties that match the parameter type and are marked as personalizable.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Quando sottoposto a override, restituisce un valore che indica se l'istanza dell'attributo è uguale al valore del campo Default statico.When overridden, returns a value that indicates whether the attribute instance equals the value of the static Default field.

Match(Object) Match(Object) Match(Object) Match(Object)

Restituisce un valore che indica se l'istanza corrente di PersonalizableAttribute e dell'oggetto PersonalizableAttribute specificato presentano lo stesso valore della proprietà IsPersonalizable.Returns a value that indicates whether the current instance of PersonalizableAttribute and the specified PersonalizableAttribute have the same IsPersonalizable property value.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a