PersonalizableAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje atrybut personalizacji. Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak używać PersonalizableAttribute klasy w kodzie. Przykład składa się z strony .aspx, która odwołuje się do kontrolki użytkownika składnika Web Part o nazwie ColorSelector.ascx
. Poniższy kod to na przykład plik .aspx.
<%@ 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>
Poniższy kod jest przeznaczony dla kontrolki ColorSelector.ascx
.
Ważne
Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).
<%@ 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>
Uwagi
Atrybut personalizacji, Personalizable
, jest stosowany do właściwości kontroli publicznej, które muszą utrwalać informacje o personalizacji. ASP.NET automatycznie generuje kod do utrwalania lub pobierania tych wartości z bazowego magazynu danych, gdy kontrolka znajduje się w strefie składników Web Part na stronie składników Web Part.
Aby właściwość została oznaczona jako personalizowalna, należy spełnić następujące wymagania:
Właściwość musi być publiczna i musi mieć publiczne metody pobierania i ustawiania metod dostępu.
Właściwość musi być właściwością odczytu/zapisu.
Właściwość musi być bez parametrów.
Nie można zaindeksować właściwości.
Kod jest generowany automatycznie w celu załadowania i zapisania danych personalizacji dla właściwości. Właściwości obsługujące personalizację są określane na podstawie istnienia tego atrybutu we właściwości i faktu, że właściwość jest zgodna z ograniczeniami wymienionymi powyżej.
Należy pamiętać, że właściwości tylko do odczytu i tylko do zapisu nie są obsługiwane w przypadku personalizacji. Zastosowanie tego atrybutu do właściwości tylko do odczytu lub tylko do zapisu powoduje HttpException zgłoszenie. Właściwości sparametryzowane zgłaszają HttpException również wyjątek.
Pojedyncze właściwości bez tego atrybutu są wykluczane z personalizacji, jeśli nie jest używana żadna specjalna obsługa za pośrednictwem interfejsu IPersonalizable .
Aby uzyskać więcej informacji na temat używania atrybutów, zobacz Web Part Personalization Overview (Omówienie personalizacji składników Web Part).
Konstruktory
PersonalizableAttribute() |
Inicjuje nowe wystąpienie klasy PersonalizableAttribute. |
PersonalizableAttribute(Boolean) |
Inicjuje PersonalizableAttribute nowe wystąpienie klasy przy użyciu podanego parametru. |
PersonalizableAttribute(PersonalizationScope) |
Inicjuje PersonalizableAttribute nowe wystąpienie klasy przy użyciu podanego parametru. |
PersonalizableAttribute(PersonalizationScope, Boolean) |
Inicjuje PersonalizableAttribute nowe wystąpienie klasy przy użyciu podanych parametrów. |
Pola
Default |
Zwraca wystąpienie atrybutu, które nie wskazuje obsługi personalizacji. To pole jest tylko do odczytu. |
NotPersonalizable |
Zwraca wystąpienie atrybutu, które nie wskazuje obsługi personalizacji. To pole jest tylko do odczytu. |
Personalizable |
Zwraca wystąpienie atrybutu wskazujące obsługę personalizacji. To pole jest tylko do odczytu. |
SharedPersonalizable |
Zwraca wystąpienie atrybutu wskazujące obsługę personalizacji z zakresem udostępnionym. To pole jest tylko do odczytu. |
UserPersonalizable |
Zwraca wystąpienie atrybutu wskazujące obsługę personalizacji w User zakresie. To pole jest tylko do odczytu. |
Właściwości
IsPersonalizable |
Pobiera ustawienie wskazujące, czy atrybut może być spersonalizowany zgodnie z ustaleniami jednego z konstruktorów. |
IsSensitive |
Pobiera ustawienie wskazujące, czy atrybut jest poufny zgodnie z ustaleniami jednego z konstruktorów. |
Scope |
PersonalizationScope Pobiera wartość wyliczenia dla wystąpienia klasy zgodnie z ustawieniem jednego z konstruktorów. |
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attributeelementu . (Odziedziczone po Attribute) |
Metody
Equals(Object) |
Po przesłonięciu funkcja zwraca wartość logiczną bieżącego wystąpienia i PersonalizableAttribute innego PersonalizableAttribute wystąpienia dostarczonego jako parametr. |
GetHashCode() |
Po zastąpieniu zwraca kod skrótu atrybutu. |
GetPersonalizableProperties(Type) |
Zwraca kolekcję PropertyInfo obiektów dla właściwości, które są zgodne z typem parametru i są oznaczone jako możliwe do personalizacji. |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
IsDefaultAttribute() |
Po przesłonięciu zwraca wartość wskazującą, czy wystąpienie atrybutu jest równe wartości pola statycznego Default . |
Match(Object) |
Zwraca wartość wskazującą, czy bieżące wystąpienie klasy PersonalizableAttribute i określone PersonalizableAttribute mają tę samą IsPersonalizable wartość właściwości. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie dla obiektu, który może służyć do pobierania informacji o typie dla interfejsu. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po Attribute) |