Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

PersonalizableAttribute (Clase)

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

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

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

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

El tipo PersonalizableAttribute expone los siguientes miembros.

  NombreDescripción
Método públicoPersonalizableAttribute()Inicializa una nueva instancia de la clase PersonalizableAttribute.
Método públicoPersonalizableAttribute(Boolean)Inicializa una nueva instancia de la clase PersonalizableAttribute mediante el parámetro proporcionado.
Método públicoPersonalizableAttribute(PersonalizationScope)Inicializa una nueva instancia de la clase PersonalizableAttribute mediante el parámetro proporcionado.
Método públicoPersonalizableAttribute(PersonalizationScope, Boolean)Inicializa una nueva instancia de la clase PersonalizableAttribute mediante los parámetros proporcionados.
Arriba

  NombreDescripción
Propiedad públicaIsPersonalizableObtiene el valor que indica si puede personalizarse el atributo, según lo establecido por uno de los constructores.
Propiedad públicaIsSensitiveObtiene el valor que indica si el atributo es sensible, como según lo establecido por uno de los constructores.
Propiedad públicaScopeObtiene el valor de enumeración PersonalizationScope para la instancia de clase, según lo establecido por uno de los constructores.
Propiedad públicaTypeIdCuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Se hereda de Attribute).
Arriba

  NombreDescripción
Método públicoEqualsCuando se reemplaza, devuelve una evaluación Booleana de la instancia actual de PersonalizableAttribute y otra instancia PersonalizableAttribute que se proporciona como un parámetro. (Invalida a Attribute.Equals(Object)).
Método públicoGetHashCodeCuando se reemplaza, devuelve un código hash del atributo. (Invalida a Attribute.GetHashCode()).
Método públicoMiembro estáticoGetPersonalizablePropertiesDevuelve una colección de objetos PropertyInfo para las propiedades que coinciden con el tipo de parámetro y están marcadas como personalizables.
Método públicoGetType Obtiene el Typede la instancia actual. (Se hereda de Object).
Método públicoIsDefaultAttributeCuando se reemplaza, devuelve un valor que indica si la instancia de atributo es igual al valor del campo Default estático. (Invalida a Attribute.IsDefaultAttribute()).
Método públicoMatchDevuelve un valor que indica si la instancia actual de PersonalizableAttribute y el PersonalizableAttribute especificado tienen el mismo valor de propiedad IsPersonalizable. (Invalida a Attribute.Match(Object)).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Campo públicoMiembro estáticoDefaultDevuelve una instancia de atributo que indica ninguna compatibilidad para personalización. Este campo es de sólo lectura.
Campo públicoMiembro estáticoNotPersonalizableDevuelve una instancia de atributo que indica ninguna compatibilidad para personalización. Este campo es de sólo lectura.
Campo públicoMiembro estáticoPersonalizableDevuelve una instancia de atributo que indica compatibilidad para personalización. Este campo es de sólo lectura.
Campo públicoMiembro estáticoSharedPersonalizableDevuelve una instancia de atributo que indica la compatibilidad para personalización con un ámbito compartido. Este campo es de sólo lectura.
Campo públicoMiembro estáticoUserPersonalizableDevuelve una instancia de atributo que indica compatibilidad para personalización en el ámbito User. Este campo es de sólo lectura.
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privado_Attribute.GetIDsOfNamesAsigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.GetTypeInfoObtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.GetTypeInfoCount

Recupera el número de interfaces de tipo de información que suministra un objeto (0 ó 1)

(Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado_Attribute.InvokeProporciona acceso a las propiedades y los métodos expuestos por un objeto. (Se hereda de Attribute).
Arriba

ExcepciónCondición
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 privada o protegida.

– O bien –

La propiedad tiene parámetros de índice.

El atributo de personalización, Personalizable, se aplica a 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 del almacén de datos subyacente cuando el control está en una zona de elementos Web de una página de elementos Web.

Para que una propiedad se marque como personalizable, deben cumplirse los requisitos siguientes:

  • La propiedad debe ser pública y debe tener descriptores de acceso get y set.

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

  • La propiedad debe estar sin parámetros.

  • La propiedad no se puede indizar.

Se genera automáticamente código para cargar y guardar los datos de personalización para las propiedades. Las propiedades que admiten la personalización se determinan en función de la existencia de este atributo en la propiedad y del hecho de que la propiedad se ajuste a las restricciones mostradas anteriormente.

Observe que las propiedades de sólo lectura y de sólo escritura no se admiten para personalización. La aplicación de este atributo a una propiedad de sólo lectura o de sólo escritura provoca que se produzca HttpException. Las propiedades parametrizadas también producen una excepción HttpException.

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

Para obtener más información acerca de la forma de utilizar atributos, vea Web Parts Personalization.

El ejemplo de código siguiente muestra cómo utilizar la clase PersonalizableAttribute en el código. El ejemplo consta de una página .aspx que hace referencia a un control de usuario de elementos Web llamado ColorSelector.ascx. El código siguiente es el archivo .aspx para el 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 control ColorSelector.ascx.

Nota de seguridadNota sobre la seguridad

En este ejemplo hay un cuadro de texto que acepta datos del usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, las ASP.NET Web Pages validan los datos escritos por el usuario para comprobar que no incluyen script ni elementos HTML. Para obtener más información, vea 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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft