PersonalizableAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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) |