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á ze stránky .aspx, která odkazuje na uživatelský ovládací prvek webové části s názvem ColorSelector.ascx. Následující kód je soubor .aspx pro příklad.

<%@ 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 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ěřují, ž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 přizpůsobení , se použije u vlastností veřejného ovládacího prvku, Personalizablekteré 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ěny následující požadavky:

  • Vlastnost musí být veřejná a musí mít veřejné přístupové objekty 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 HttpException následek 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 žádné zvláštní zpracování prostřednictvím IPersonalizable rozhraní.

Další informace o používání atributů najdete 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á označuje, že není podporováno přizpůsobení. Toto pole je jen ke čtení.

NotPersonalizable

Vrátí instanci atributu, která označuje, ž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 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()

Získá aktuální Type instanci.

(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