PersonalizableAttribute PersonalizableAttribute PersonalizableAttribute PersonalizableAttribute Class

Definición

Representa el atributo de personalización.Represents the personalization attribute. Esta clase no puede heredarse.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
Herencia
PersonalizableAttributePersonalizableAttributePersonalizableAttributePersonalizableAttribute
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el PersonalizableAttribute clase en código.The following code example demonstrates how to use the PersonalizableAttribute class in code. El ejemplo consta de una página .aspx que hace referencia a un control de usuario de elemento Web denominado ColorSelector.ascx.The sample consists of an .aspx page that references a Web Part user control called ColorSelector.ascx. El código siguiente es el archivo .aspx para el ejemplo.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>

El código siguiente es para el ColorSelector.ascx control.The following code is for the ColorSelector.ascx control.

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad.This example has a text box that accepts user input, which is a potential security threat. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Para más información, consulte Información general sobre los ataques mediante scripts.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>

Comentarios

El atributo de personalización, Personalizable, se aplica a propiedades públicas del control que necesitan conservar la información de personalización.The personalization attribute, Personalizable, is applied to public control properties that need to persist personalization information. ASP.NET genera automáticamente el código para conservar o recuperar estos valores desde el almacén de datos subyacente cuando el control está en una zona de elementos Web en una página de elementos Web.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.

Para que una propiedad que se marque como personalizable, se deben cumplir los siguientes requisitos:The following requirements must be met for a property to be marked as personalizable:

  • La propiedad debe ser pública y debe tener get público y descriptores de acceso.The property must be public and must have public get and set accessors.

  • La propiedad debe ser una propiedad de lectura/escritura.The property must be a read/write property.

  • La propiedad debe ser sin parámetros.The property must be without parameters.

  • No se puede indizar la propiedad.The property cannot be indexed.

Automáticamente se genera código para cargar y guardar los datos de personalización para las propiedades.Code is automatically generated to load and save personalization data for properties. Las propiedades que admiten la personalización se determinan según la existencia de este atributo en la propiedad y el hecho de que la propiedad se ajusta a las restricciones enumeradas anteriormente.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.

Tenga en cuenta que no se admiten las propiedades de solo lectura y de solo escritura para la personalización.Note that read-only and write-only properties are not supported for personalization. Al aplicar este atributo a una propiedad de solo lectura o solo escritura da como resultado una HttpException producida.Applying this attribute to a read-only or write-only property results in an HttpException being thrown. Propiedades parametrizadas también producen un HttpException excepción.Parameterized properties also throw an HttpException exception.

Las propiedades individuales sin este atributo se excluyen de personalización si ningún control especial a través de la IPersonalizable interfaz se utiliza.Individual properties without this attribute are excluded from personalization if no special handling through the IPersonalizable interface is used.

Para obtener más información sobre el uso de atributos, vea Web Parts Personalization Overview.For more information about using attributes, see Web Parts Personalization Overview.

Constructores

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

Inicializa una nueva instancia de la clase PersonalizableAttribute.Initializes a new instance of the PersonalizableAttribute class.

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

Inicializa una nueva instancia de la clase PersonalizableAttribute mediante el parámetro proporcionado.Initializes a new instance of the PersonalizableAttribute class using the provided parameter.

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

Inicializa una nueva instancia de la clase PersonalizableAttribute mediante el parámetro proporcionado.Initializes a new instance of the PersonalizableAttribute class using the provided parameter.

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

Inicializa una nueva instancia de la clase PersonalizableAttribute mediante los parámetros proporcionados.Initializes a new instance of the PersonalizableAttribute class using the provided parameters.

Campos

Default Default Default Default

Devuelve una instancia de atributo que indica ninguna compatibilidad para personalización.Returns an attribute instance that indicates no support for personalization. Este campo es de solo lectura.This field is read-only.

NotPersonalizable NotPersonalizable NotPersonalizable NotPersonalizable

Devuelve una instancia de atributo que indica ninguna compatibilidad para personalización.Returns an attribute instance that indicates no support for personalization. Este campo es de solo lectura.This field is read-only.

Personalizable Personalizable Personalizable Personalizable

Devuelve una instancia de atributo que indica compatibilidad para personalización.Returns an attribute instance that indicates support for personalization. Este campo es de solo lectura.This field is read-only.

SharedPersonalizable SharedPersonalizable SharedPersonalizable SharedPersonalizable

Devuelve una instancia de atributo que indica la compatibilidad para personalización con un ámbito compartido.Returns an attribute instance that indicates support for personalization with a shared scope. Este campo es de solo lectura.This field is read-only.

UserPersonalizable UserPersonalizable UserPersonalizable UserPersonalizable

Devuelve una instancia de atributo que indica compatibilidad para personalización en el ámbito User.Returns an attribute instance that indicates support for personalization in User scope. Este campo es de solo lectura.This field is read-only.

Propiedades

IsPersonalizable IsPersonalizable IsPersonalizable IsPersonalizable

Obtiene el valor que indica si puede personalizarse el atributo, según lo establecido por uno de los constructores.Gets the setting that indicates whether the attribute can be personalized, as established by one of the constructors.

IsSensitive IsSensitive IsSensitive IsSensitive

Obtiene el valor que indica si el atributo es sensible, como según lo establecido por uno de los constructores.Gets the setting that indicates whether the attribute is sensitive, as established by one of the constructors.

Scope Scope Scope Scope

Obtiene el valor de enumeración PersonalizationScope para la instancia de clase, según lo establecido por uno de los constructores.Gets the PersonalizationScope enumeration value for the class instance, as set by one of the constructors.

TypeId TypeId TypeId TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Métodos

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

Cuando se reemplaza, devuelve una evaluación Booleana de la instancia actual de PersonalizableAttribute y otra instancia PersonalizableAttribute que se proporciona como un parámetro.When overridden, returns a Boolean evaluation of the current instance of PersonalizableAttribute and another PersonalizableAttribute instance supplied as a parameter.

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

Cuando se reemplaza, devuelve un código hash del atributo.When overridden, returns a hash code of the attribute.

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

Devuelve una colección de objetos PropertyInfo para las propiedades que coinciden con el tipo de parámetro y están marcadas como personalizables.Returns a collection of PropertyInfo objects for the properties that match the parameter type and are marked as personalizable.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Cuando se reemplaza, devuelve un valor que indica si la instancia de atributo es igual al valor del campo Default estático.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)

Devuelve un valor que indica si la instancia actual de PersonalizableAttribute y el PersonalizableAttribute especificado tienen el mismo valor de propiedad 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 superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

_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)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.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)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.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 el número de interfaces de información de tipo que proporciona un objeto (0 ó 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)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Se aplica a