PersonalizableAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta l'attributo di personalizzazione. La classe non può essere ereditata.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato come usare la PersonalizableAttribute classe nel codice. L'esempio è costituito da una pagina .aspx che fa riferimento a un controllo utente di web part denominato ColorSelector.ascx
. Il codice seguente è il file .aspx per l'esempio.
<%@ 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>
Il codice seguente è per il ColorSelector.ascx
controllo.
Importante
L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite 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>
Commenti
L'attributo di personalizzazione, Personalizable
, viene applicato alle proprietà del controllo pubblico che devono rendere persistenti le informazioni di personalizzazione. ASP.NET genera automaticamente il codice per mantenere o recuperare questi valori dall'archivio dati sottostante quando il controllo si trova in un'area Web part in una pagina web part.
I requisiti seguenti devono essere soddisfatti per contrassegnare una proprietà come personalizzabile:
La proprietà deve essere pubblica e deve avere funzioni di accesso pubbliche e impostate.
La proprietà deve essere una proprietà di lettura/scrittura.
La proprietà deve essere senza parametri.
Impossibile indicizzare la proprietà.
Il codice viene generato automaticamente per caricare e salvare i dati di personalizzazione per le proprietà. Le proprietà che supportano la personalizzazione vengono determinate in base all'esistenza di questo attributo nella proprietà e al fatto che la proprietà sia conforme ai vincoli elencati sopra.
Si noti che le proprietà di sola lettura e di sola scrittura non sono supportate per la personalizzazione. L'applicazione di questo attributo a una proprietà di sola lettura o di sola scrittura genera un'eccezione HttpException . Le proprietà con parametri generano anche un'eccezione HttpException .
Le singole proprietà senza questo attributo vengono escluse dalla personalizzazione se non viene usata alcuna gestione speciale tramite l'interfaccia IPersonalizable .
Per altre informazioni sull'uso degli attributi, vedere Panoramica sulla personalizzazione delle web part.
Costruttori
PersonalizableAttribute() |
Inizializza una nuova istanza della classe PersonalizableAttribute. |
PersonalizableAttribute(Boolean) |
Inizializza una nuova istanza della classe PersonalizableAttribute utilizzando il parametro fornito. |
PersonalizableAttribute(PersonalizationScope) |
Inizializza una nuova istanza della classe PersonalizableAttribute utilizzando il parametro fornito. |
PersonalizableAttribute(PersonalizationScope, Boolean) |
Inizializza una nuova istanza della classe PersonalizableAttribute utilizzando i parametri forniti. |
Campi
Default |
Restituisce un'istanza di attributo che indica che la personalizzazione non è supportata. Questo campo è di sola lettura. |
NotPersonalizable |
Restituisce un'istanza di attributo che indica che la personalizzazione non è supportata. Questo campo è di sola lettura. |
Personalizable |
Restituisce un'istanza di attributo che indica che la personalizzazione è supportata. Questo campo è di sola lettura. |
SharedPersonalizable |
Restituisce un'istanza di attributo che indica che la personalizzazione è supportata con un ambito condiviso. Questo campo è di sola lettura. |
UserPersonalizable |
Restituisce un'istanza di attributo che indica che la personalizzazione è supportata nell'ambito di User. Questo campo è di sola lettura. |
Proprietà
IsPersonalizable |
Ottiene l'impostazione che indica se l'attributo può essere personalizzato, come stabilito da uno dei costruttori. |
IsSensitive |
Ottiene l'impostazione che indica se l'attributo è riservato, come stabilito da uno dei costruttori. |
Scope |
Ottiene il valore dell'enumerazione PersonalizationScope per l'istanza della classe, come impostato da uno dei costruttori. |
TypeId |
Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute. (Ereditato da Attribute) |
Metodi
Equals(Object) |
Quando viene sottoposto a override, restituisce una valutazione Boolean dell'istanza corrente di PersonalizableAttribute e un'altra istanza di PersonalizableAttribute fornita come parametro. |
GetHashCode() |
Quando viene sottoposto a override, restituisce un codice hash dell'attributo. |
GetPersonalizableProperties(Type) |
Restituisce un insieme di oggetti PropertyInfo per le proprietà corrispondenti al tipo di parametro e contrassegnate come personalizzabili. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IsDefaultAttribute() |
Quando sottoposto a override, restituisce un valore che indica se l'istanza dell'attributo è uguale al valore del campo Default statico. |
Match(Object) |
Restituisce un valore che indica se l'istanza corrente di PersonalizableAttribute e dell'oggetto PersonalizableAttribute specificato presentano lo stesso valore della proprietà IsPersonalizable. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia. (Ereditato da Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |