PersonalizableAttribute Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar anpassningsattributet. Det går inte att ärva den här klassen.
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
- Arv
- Attribut
Exempel
Följande kodexempel visar hur du PersonalizableAttribute använder klassen i kod. Exemplet består av en .aspx sida som refererar till en användarkontroll för webbdelen med namnet ColorSelector.ascx. Följande kod är den .aspx filen för exemplet.
<%@ 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>
Följande kod är för ColorSelector.ascx kontrollen.
Important
Det här exemplet har en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.
<%@ 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>
Kommentarer
Anpassningsattributet, Personalizable, tillämpas på egenskaper för offentlig kontroll som behöver bevara anpassningsinformation. ASP.NET genererar automatiskt koden för att spara eller hämta dessa värden från det underliggande datalagret när kontrollen finns i en webbdelszon på en webbdelssida.
Följande krav måste uppfyllas för att en egenskap ska markeras som personlig:
Egenskapen måste vara offentlig och måste ha offentliga get- och set-åtkomster.
Egenskapen måste vara en läs-/skrivegenskap.
Egenskapen måste vara utan parametrar.
Egenskapen kan inte indexeras.
Kod genereras automatiskt för att läsa in och spara anpassningsdata för egenskaper. Egenskaper som stöder anpassning bestäms baserat på förekomsten av det här attributet på egenskapen och det faktum att egenskapen överensstämmer med de begränsningar som anges ovan.
Observera att skrivskyddade och skrivskyddade egenskaper inte stöds för anpassning. Om du tillämpar det här attributet på en skrivskyddad eller skrivskyddad egenskap genereras en HttpException utlöses. Parameteriserade egenskaper utlöser också ett HttpException undantag.
Enskilda egenskaper utan det här attributet undantas från anpassning om ingen särskild hantering via IPersonalizable gränssnittet används.
Mer information om hur du använder attribut finns i Översikt över anpassning av webbdelar.
Konstruktorer
| Name | Description |
|---|---|
| PersonalizableAttribute() |
Initierar en ny instans av PersonalizableAttribute klassen. |
| PersonalizableAttribute(Boolean) |
Initierar en ny instans av klassen med hjälp av PersonalizableAttribute den angivna parametern. |
| PersonalizableAttribute(PersonalizationScope, Boolean) |
Initierar en ny instans av klassen med hjälp av PersonalizableAttribute de angivna parametrarna. |
| PersonalizableAttribute(PersonalizationScope) |
Initierar en ny instans av klassen med hjälp av PersonalizableAttribute den angivna parametern. |
Fält
| Name | Description |
|---|---|
| Default |
Returnerar en attributinstans som inte anger något stöd för anpassning. Detta fält är skrivskyddat. |
| NotPersonalizable |
Returnerar en attributinstans som inte anger något stöd för anpassning. Detta fält är skrivskyddat. |
| Personalizable |
Returnerar en attributinstans som anger stöd för anpassning. Detta fält är skrivskyddat. |
| SharedPersonalizable |
Returnerar en attributinstans som anger stöd för anpassning med ett delat omfång. Detta fält är skrivskyddat. |
| UserPersonalizable |
Returnerar en attributinstans som indikerar stöd för anpassning i User omfånget. Detta fält är skrivskyddat. |
Egenskaper
| Name | Description |
|---|---|
| IsPersonalizable |
Hämtar inställningen som anger om attributet kan anpassas, enligt en av konstruktörerna. |
| IsSensitive |
Hämtar inställningen som anger om attributet är känsligt, enligt en av konstruktörerna. |
| Scope |
PersonalizationScope Hämtar uppräkningsvärdet för klassinstansen enligt en av konstruktörerna. |
| TypeId |
När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute. (Ärvd från Attribute) |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
När åsidosättas returnerar en boolesk utvärdering av den aktuella instansen av PersonalizableAttribute och en annan PersonalizableAttribute instans som anges som en parameter. |
| GetHashCode() |
Vid åsidosättande returnerar en hash-kod för attributet. |
| GetPersonalizableProperties(Type) |
Returnerar en samling PropertyInfo objekt för de egenskaper som matchar parametertypen och markeras som personliga. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| IsDefaultAttribute() |
När det åsidosätts returneras ett värde som anger om attributinstansen är lika med värdet för det statiska Default fältet. |
| Match(Object) |
Returnerar ett värde som anger om den aktuella instansen av PersonalizableAttribute och den angivna PersonalizableAttribute har samma IsPersonalizable egenskapsvärde. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare. (Ärvd från Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Hämtar typinformationen för ett objekt, som kan användas för att hämta typinformationen för ett gränssnitt. (Ärvd från Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1). (Ärvd från Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Ger åtkomst till egenskaper och metoder som exponeras av ett objekt. (Ärvd från Attribute) |