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

Nell'esempio di codice riportato di seguito viene illustrato PersonalizableAttribute come utilizzare la 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 ColorSelector.ascxWeb part denominato.The sample consists of an .aspx page that references a Web Part user control called ColorSelector.ascx. Il codice seguente è il file 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à del controllo pubblico che devono salvare 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 salvare in modo permanente o recuperare questi valori dall'archivio dati sottostante quando il controllo si trova in una zona Web part in una pagina di 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 contrassegnare una proprietà come personalizzabile, è necessario soddisfare 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 funzioni di accesso get e set pubbliche.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 priva di parametri.The property must be without parameters.

  • Impossibile indicizzare la proprietà.The property cannot be indexed.

Il codice viene generato automaticamente per caricare e salvare i dati di personalizzazione per le proprietà.Code is automatically generated to load and save personalization data for properties. Le proprietà che supportano la personalizzazione vengono determinate in base all'esistenza di questo attributo sulla proprietà e al fatto che la proprietà è conforme ai vincoli elencati sopra.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 di sola scrittura non sono supportate per la personalizzazione.Note that read-only and write-only properties are not supported for personalization. L'applicazione di questo attributo a una proprietà di sola lettura o di sola scrittura comporta HttpException la generazione di un'eccezione.Applying this attribute to a read-only or write-only property results in an HttpException being thrown. Anche le proprietà con parametri HttpException generano un'eccezione.Parameterized properties also throw an HttpException exception.

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

Per ulteriori informazioni sull'utilizzo degli attributi, vedere Cenni preliminari sulla personalizzazione Web part.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