PersonalizableAttribute Classe

Definição

Representa o atributo de personalização. Essa classe não pode ser herdada.

public ref class PersonalizableAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public sealed class PersonalizableAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property)>]
type PersonalizableAttribute = class
    inherit Attribute
Public NotInheritable Class PersonalizableAttribute
Inherits Attribute
Herança
PersonalizableAttribute
Atributos

Exemplos

O exemplo de código a seguir demonstra como usar a PersonalizableAttribute classe no código. O exemplo consiste em uma página .aspx que faz referência a um controle de usuário da Web Part chamado ColorSelector.ascx. O código a seguir é o arquivo .aspx para o exemplo.

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

O código a seguir é para o ColorSelector.ascx controle.

Importante

Este exemplo tem uma caixa de texto que aceita a entrada do usuário, que é uma potencial ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos de script ou HTML. Para obter mais informações, consulte Visão geral das Explorações de Script.

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

Comentários

O atributo de personalização é Personalizableaplicado às propriedades de controle público que precisam persistir as informações de personalização. ASP.NET gera automaticamente o código para persistir ou recuperar esses valores do armazenamento de dados subjacente quando o controle está em uma zona de Web Parts em uma página de Web Parts.

Os seguintes requisitos devem ser atendidos para que uma propriedade seja marcada como personalizável:

  • A propriedade deve ser pública e deve ter acessadores públicos get e set.

  • A propriedade deve ser uma propriedade de leitura/gravação.

  • A propriedade deve estar sem parâmetros.

  • A propriedade não pode ser indexada.

O código é gerado automaticamente para carregar e salvar dados de personalização para propriedades. As propriedades que dão suporte à personalização são determinadas com base na existência desse atributo na propriedade e no fato de que a propriedade está em conformidade com as restrições listadas acima.

Observe que não há suporte para propriedades somente leitura e somente gravação para personalização. Aplicar esse atributo a uma propriedade somente leitura ou somente gravação resulta em uma geração HttpException . Propriedades parametrizadas também geram uma exceção HttpException .

Propriedades individuais sem esse atributo serão excluídas da personalização se nenhum tratamento especial por meio da IPersonalizable interface for usado.

Para obter mais informações sobre como usar atributos, consulte a Visão geral da Personalização de Web Parts.

Construtores

Nome Description
PersonalizableAttribute()

Inicializa uma nova instância da classe PersonalizableAttribute.

PersonalizableAttribute(Boolean)

Inicializa uma nova instância da PersonalizableAttribute classe usando o parâmetro fornecido.

PersonalizableAttribute(PersonalizationScope, Boolean)

Inicializa uma nova instância da PersonalizableAttribute classe usando os parâmetros fornecidos.

PersonalizableAttribute(PersonalizationScope)

Inicializa uma nova instância da PersonalizableAttribute classe usando o parâmetro fornecido.

Campos

Nome Description
Default

Retorna uma instância de atributo que não indica suporte para personalização. O campo é somente leitura.

NotPersonalizable

Retorna uma instância de atributo que não indica suporte para personalização. O campo é somente leitura.

Personalizable

Retorna uma instância de atributo que indica suporte para personalização. O campo é somente leitura.

SharedPersonalizable

Retorna uma instância de atributo que indica suporte para personalização com um escopo compartilhado. O campo é somente leitura.

UserPersonalizable

Retorna uma instância de atributo que indica suporte para personalização no User escopo. O campo é somente leitura.

Propriedades

Nome Description
IsPersonalizable

Obtém a configuração que indica se o atributo pode ser personalizado, conforme estabelecido por um dos construtores.

IsSensitive

Obtém a configuração que indica se o atributo é confidencial, conforme estabelecido por um dos construtores.

Scope

Obtém o PersonalizationScope valor de enumeração para a instância de classe, conforme definido por um dos construtores.

TypeId

Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute.

(Herdado de Attribute)

Métodos

Nome Description
Equals(Object)

Quando substituído, retorna uma avaliação booliana da instância atual e de PersonalizableAttribute outra PersonalizableAttribute instância fornecida como um parâmetro.

GetHashCode()

Quando substituído, retorna um código hash do atributo.

GetPersonalizableProperties(Type)

Retorna uma coleção de PropertyInfo objetos para as propriedades que correspondem ao tipo de parâmetro e são marcados como personalizáveis.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando substituído, retorna um valor que indica se a instância de atributo é igual ao valor do campo estático Default .

Match(Object)

Retorna um valor que indica se a instância PersonalizableAttribute atual e a especificada PersonalizableAttribute têm o mesmo IsPersonalizable valor de propriedade.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a