Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase PersonalizableAttribute

 

Publicado: octubre de 2016

Representa el atributo de personalización. Esta clase no puede heredarse.

Espacio de nombres:   System.Web.UI.WebControls.WebParts
Ensamblado:  System.Web (en System.Web.dll)

System.Object
  System.Attribute
    System.Web.UI.WebControls.WebParts.PersonalizableAttribute

[AttributeUsageAttribute(AttributeTargets.Property)]
public sealed class PersonalizableAttribute : Attribute

NombreDescripción
System_CAPS_pubmethodPersonalizableAttribute()

Inicializa una nueva instancia de la clase PersonalizableAttribute.

System_CAPS_pubmethodPersonalizableAttribute(Boolean)

Inicializa una nueva instancia de la PersonalizableAttribute clase mediante el parámetro proporcionado.

System_CAPS_pubmethodPersonalizableAttribute(PersonalizationScope)

Inicializa una nueva instancia de la PersonalizableAttribute clase mediante el parámetro proporcionado.

System_CAPS_pubmethodPersonalizableAttribute(PersonalizationScope, Boolean)

Inicializa una nueva instancia de la PersonalizableAttribute clase con los parámetros proporcionados.

NombreDescripción
System_CAPS_pubpropertyIsPersonalizable

Obtiene el valor que indica si se puede personalizar el atributo, según lo establecido por uno de los constructores.

System_CAPS_pubpropertyIsSensitive

Obtiene el valor que indica si el atributo es sensible, según lo establecido por uno de los constructores.

System_CAPS_pubpropertyScope

Obtiene el PersonalizationScope el valor de enumeración de la instancia de clase, según lo establecido por uno de los constructores.

System_CAPS_pubpropertyTypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.(Heredado de Attribute).

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Cuando se reemplaza, devuelve una evaluación booleana de la instancia actual de PersonalizableAttribute y otra PersonalizableAttribute proporcionada como un parámetro de instancia.(Invalida Attribute.Equals(Object)).

System_CAPS_pubmethodGetHashCode()

Cuando se reemplaza, devuelve un código hash del atributo.(Invalida Attribute.GetHashCode()).

System_CAPS_pubmethodSystem_CAPS_staticGetPersonalizableProperties(Type)

Devuelve una colección de PropertyInfo objetos para las propiedades que coinciden con el tipo de parámetro y están marcadas como personalizables.

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIsDefaultAttribute()

Cuando se reemplaza, devuelve un valor que indica si la instancia del atributo es igual al valor de estático Default campo.(Invalida Attribute.IsDefaultAttribute()).

System_CAPS_pubmethodMatch(Object)

Devuelve un valor que indica si la instancia actual de PersonalizableAttribute y especificado PersonalizableAttribute tienen el mismo IsPersonalizable valor de propiedad.(Invalida Attribute.Match(Object)).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa el objeto actual.(Heredado de Object).

NombreDescripción
System_CAPS_pubfieldSystem_CAPS_staticDefault

Devuelve una instancia de atributo que no indica ninguna compatibilidad para personalización. Este campo es de solo lectura.

System_CAPS_pubfieldSystem_CAPS_staticNotPersonalizable

Devuelve una instancia de atributo que no indica ninguna compatibilidad para personalización. Este campo es de solo lectura.

System_CAPS_pubfieldSystem_CAPS_staticPersonalizable

Devuelve una instancia de atributo que indica compatibilidad para personalización. Este campo es de solo lectura.

System_CAPS_pubfieldSystem_CAPS_staticSharedPersonalizable

Devuelve una instancia de atributo que indica compatibilidad para personalización con un ámbito compartido. Este campo es de solo lectura.

System_CAPS_pubfieldSystem_CAPS_staticUserPersonalizable

Devuelve una instancia de atributo que indica compatibilidad para personalización en User ámbito. Este campo es de solo lectura.

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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.(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.(Heredado de Attribute).

Exception Condition
HttpException

La propiedad es una propiedad pública de sólo lectura o de sólo escritura.

o bien

La propiedad es una propiedad de lectura y escritura privado o protegido.

o bien

La propiedad tiene parámetros de índice.

El atributo de personalización, Personalizable, se aplica a las propiedades de control públicas que necesitan conservar información de personalización. 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.

Deben cumplirse los siguientes requisitos para que una propiedad que se marque como personalizable:

  • La propiedad debe ser pública y debe tener get público y establecer los descriptores de acceso.

  • La propiedad debe ser una propiedad de lectura y escritura.

  • La propiedad debe estar sin parámetros.

  • No se puede indizar la propiedad.

Se genera automáticamente código para cargar y guardar los datos de personalización para las propiedades. Propiedades que admiten la personalización se determinan en función de la existencia de este atributo en la propiedad y el hecho de que la propiedad se ajusta a las restricciones mencionadas.

Tenga en cuenta que no se admiten propiedades de sólo lectura y de solo escritura para la personalización. Este atributo se aplica a una propiedad de sólo lectura o de sólo escritura provocará una HttpException producida. Propiedades parametrizadas también producen una HttpException excepción.

Las propiedades individuales sin este atributo se excluyen de la personalización si ningún control especial a través de la IPersonalizable interfaz se utiliza.

Para obtener más información sobre el uso de atributos, vea Web Parts Personalization Overview.

En el ejemplo de código siguiente se muestra cómo utilizar el PersonalizableAttribute clase en el código. El ejemplo consta de una página .aspx que hace referencia a un control de usuario de elemento Web denominado ColorSelector.ascx. El código siguiente es el archivo .aspx del ejemplo.

<%@ 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.

System_CAPS_security Seguridad Nota

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para obtener más información, consulta 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>

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: