PersonalizableAttribute Třída

Definice

Představuje atribut přizpůsobení. Tato třída se nemůže dědit.

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
Dědičnost
PersonalizableAttribute
Atributy

Příklady

Následující příklad kódu ukazuje, jak použít PersonalizableAttribute třídu v kódu. Ukázka se skládá z .aspx stránky, která odkazuje na uživatelský ovládací prvek webové části s názvem ColorSelector.ascx. Následující kód je .aspx soubor příkladu.

<%@ 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>

Následující kód je určený pro ovládací ColorSelector.ascx prvek.

Důležité

Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřte, že uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.

<%@ 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>

Poznámky

Atribut individuálního nastavení , Personalizablese použije u vlastností veřejného ovládacího prvku, které potřebují zachovat informace o přizpůsobení. ASP.NET automaticky vygeneruje kód pro zachování nebo načtení těchto hodnot z podkladového úložiště dat, pokud je ovládací prvek v zóně webových částí na stránce webových částí.

Aby bylo možné vlastnost označit jako přizpůsobitelnou, musí být splněné následující požadavky:

  • Vlastnost musí být veřejná a musí mít přístupové objekty public get a set.

  • Vlastnost musí být vlastnost pro čtení/zápis.

  • Vlastnost musí být bez parametrů.

  • Vlastnost nelze indexovat.

Kód se automaticky vygeneruje pro načtení a uložení dat přizpůsobení vlastností. Vlastnosti, které podporují přizpůsobení, jsou určeny na základě existence tohoto atributu na vlastnosti a skutečnosti, že vlastnost odpovídá omezením uvedeným výše.

Mějte na paměti, že vlastnosti jen pro čtení a zápis nejsou podporovány pro přizpůsobení. Použití tohoto atributu na vlastnost jen pro čtení nebo jen zápis má za následek HttpException vyvolání. Parametrizované vlastnosti také vyvolají HttpException výjimku.

Jednotlivé vlastnosti bez tohoto atributu jsou vyloučeny z přizpůsobení, pokud není použito zvláštní zpracování prostřednictvím IPersonalizable rozhraní.

Další informace o používání atributů naleznete v tématu Přehled přizpůsobení webových částí.

Konstruktory

PersonalizableAttribute()

Inicializuje novou instanci PersonalizableAttribute třídy .

PersonalizableAttribute(Boolean)

Inicializuje novou instanci PersonalizableAttribute třídy pomocí zadaného parametru.

PersonalizableAttribute(PersonalizationScope)

Inicializuje novou instanci PersonalizableAttribute třídy pomocí zadaného parametru.

PersonalizableAttribute(PersonalizationScope, Boolean)

Inicializuje novou instanci PersonalizableAttribute třídy pomocí zadaných parametrů.

Pole

Default

Vrátí instanci atributu, která indikuje, že není podporováno přizpůsobení. Toto pole je jen ke čtení.

NotPersonalizable

Vrátí instanci atributu, která indikuje, že není podporováno přizpůsobení. Toto pole je jen ke čtení.

Personalizable

Vrátí instanci atributu, která označuje podporu pro přizpůsobení. Toto pole je jen ke čtení.

SharedPersonalizable

Vrátí instanci atributu, která označuje podporu pro přizpůsobení se sdíleným oborem. Toto pole je jen ke čtení.

UserPersonalizable

Vrátí instanci atributu, která označuje podporu pro přizpůsobení v User oboru. Toto pole je jen ke čtení.

Vlastnosti

IsPersonalizable

Získá nastavení, které označuje, zda atribut lze přizpůsobit, jak je stanoveno jedním z konstruktorů.

IsSensitive

Získá nastavení, které označuje, zda atribut je citlivý, jak je stanoveno jedním z konstruktorů.

Scope

PersonalizationScope Získá hodnotu výčtu pro instanci třídy, jak je nastaveno jedním z konstruktorů.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

Při přepsání vrátí logické vyhodnocení aktuální instance PersonalizableAttribute a další PersonalizableAttribute instance zadané jako parametr.

GetHashCode()

Při přepsání vrátí kód hash atributu .

GetPersonalizableProperties(Type)

Vrátí kolekci PropertyInfo objektů pro vlastnosti, které odpovídají typu parametru a jsou označeny jako přizpůsobitelné.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání vrátí hodnotu, která označuje, zda se instance atributu rovná hodnotě statického Default pole.

Match(Object)

Vrátí hodnotu, která označuje, zda aktuální instance PersonalizableAttribute a zadané PersonalizableAttribute mají stejnou IsPersonalizable hodnotu vlastnosti.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro