Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

PersonalizableAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Stellt das Personalisierungsattribut. Diese Klasse kann nicht vererbt werden.

Namespace:   System.Web.UI.WebControls.WebParts
Assembly:  System.Web (in System.Web.dll)

System.Object
  System.Attribute
    System.Web.UI.WebControls.WebParts.PersonalizableAttribute

[AttributeUsageAttribute(AttributeTargets.Property)]
public sealed class PersonalizableAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodPersonalizableAttribute()

Initialisiert eine neue Instanz der PersonalizableAttribute-Klasse.

System_CAPS_pubmethodPersonalizableAttribute(Boolean)

Initialisiert eine neue Instanz der PersonalizableAttribute -Klasse unter Verwendung des angegebenen Parameters.

System_CAPS_pubmethodPersonalizableAttribute(PersonalizationScope)

Initialisiert eine neue Instanz der PersonalizableAttribute -Klasse unter Verwendung des angegebenen Parameters.

System_CAPS_pubmethodPersonalizableAttribute(PersonalizationScope, Boolean)

Initialisiert eine neue Instanz der PersonalizableAttribute -Klasse mit den angegebenen Parametern.

NameBeschreibung
System_CAPS_pubpropertyIsPersonalizable

Ruft die ab, der angibt, ob das Attribut personalisiert werden kann, wie von einem der Konstruktoren festgelegt.

System_CAPS_pubpropertyIsSensitive

Ruft die ab, der angibt, ob das Attribut vertraulich ist, wie von einem der Konstruktoren festgelegt.

System_CAPS_pubpropertyScope

Ruft den PersonalizationScope -Enumerationswert für die Klasseninstanz, von einem der Konstruktoren festgelegt.

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Gibt beim Überschreiben eine boolesche Auswertung der aktuellen Instanz von PersonalizableAttribute und anderen PersonalizableAttribute -Instanz als Parameter übergeben.(Überschreibt Attribute.Equals(Object).)

System_CAPS_pubmethodGetHashCode()

Gibt beim Überschreiben einen Hashcode des Attributs.(Überschreibt Attribute.GetHashCode().)

System_CAPS_pubmethodSystem_CAPS_staticGetPersonalizableProperties(Type)

Gibt eine Auflistung von PropertyInfo Objekte für die Eigenschaften, die mit dem Parametertyp übereinstimmen und als personalisierbar gekennzeichnet sind.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben einen Wert, der angibt, ob die Attributinstanz gleich dem Wert der statischen ist Default Feld.(Überschreibt Attribute.IsDefaultAttribute().)

System_CAPS_pubmethodMatch(Object)

Gibt einen Wert, der angibt, ob die aktuelle Instanz des PersonalizableAttribute und der angegebenen PersonalizableAttribute verfügen über denselben IsPersonalizable Eigenschaftswert.(Überschreibt Attribute.Match(Object).)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubfieldSystem_CAPS_staticDefault

Gibt eine Attributinstanz, die keine Unterstützung für die Personalisierung angibt. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticNotPersonalizable

Gibt eine Attributinstanz, die keine Unterstützung für die Personalisierung angibt. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticPersonalizable

Gibt eine Attributinstanz, die Unterstützung für die Personalisierung angibt. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticSharedPersonalizable

Gibt eine Attributinstanz, die Unterstützung für die Personalisierung mit einem freigegebenen Bereich angibt. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUserPersonalizable

Gibt eine Attributinstanz, die Unterstützung für die Personalisierung in angibt User Bereich. Dieses Feld ist schreibgeschützt.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

Exception Condition
HttpException

Die Eigenschaft ist eine öffentliche Eigenschaft schreibgeschützt oder lesegeschützt.

- oder -

Die Eigenschaft ist eine private oder geschützte Lese-Schreib-Eigenschaft.

- oder -

Die Eigenschaft verfügt über Indexparameter.

Das Personalisierungsattribut Personalizable, gilt für die öffentlichen Eigenschaften, die Personalisierungsinformationen beibehalten müssen. ASP.NET generiert automatisch den Code zum beibehalten oder diese Werte aus dem zugrunde liegenden Datenspeicher abrufen, wenn das Steuerelement in einer Webparts-Zone auf einer Webparts-Seite ist.

Für eine Eigenschaft wie personalisierbarer gekennzeichnet werden müssen die folgenden Anforderungen erfüllt sein:

  • Die Eigenschaft muss öffentlich sein und müssen verfügen über öffentliche Get- und set-Accessoren.

  • Die Eigenschaft muss eine Eigenschaft mit Lese-/Schreibzugriff sein.

  • Die Eigenschaft darf keine Parameter aufweisen.

  • Die Eigenschaft kann nicht indiziert werden.

Zum Laden und Speichern von Personalisierungsdaten für Eigenschaften wird automatisch Code generiert. Eigenschaften, die Personalisierung unterstützen werden bestimmt basierend auf dem Vorhandensein dieses Attributs auf die Eigenschaft und die Tatsache, dass die Eigenschaft, die oben aufgeführten Einschränkungen entspricht.

Beachten Sie, dass schreibgeschützte und lesegeschützte Eigenschaften für die Personalisierung nicht unterstützt werden. Anwenden dieses Attributs auf eine Eigenschaft schreibgeschützt oder lesegeschützt führt zu einem HttpException ausgelöst wird. Parametrisierte Eigenschaften lösen ebenfalls eine HttpException Ausnahme.

Einzelne Eigenschaften ohne dieses Attribut werden von der Personalisierung ausgeschlossen, wenn keine spezielle Behandlung über die IPersonalizable Schnittstelle wird verwendet.

Weitere Informationen zum Verwenden von Attributen finden Sie unter Web Parts Personalization Overview.

Im folgenden Codebeispiel wird veranschaulicht, wie Sie die PersonalizableAttribute -Klasse im Code. Das Beispiel besteht aus einer ASPX-Seite, ein Webpart-Benutzersteuerelement mit dem Namen verweist ColorSelector.ascx. Der folgende Code ist die ASPX-Datei für das Beispiel.

<%@ 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>
        &nbsp;<asp:LoginName ID="LoginName1" runat="server" />
        &nbsp;
        <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="RedirectToLoginPage" />
        &nbsp;&nbsp;&nbsp;&nbsp;<br />
        <br />
        &nbsp;<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>

Der folgende Code ist für die ColorSelector.ascx Steuerelement.

System_CAPS_security Sicherheit Hinweis

Dieses Beispiel umfasst ein Textfeld, das Benutzereingaben akzeptiert, die ein potenzielles Sicherheitsrisiko darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Script Exploits Overview.

<%@ 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"  /> 
        &nbsp;&nbsp;
        <asp:button runat="server"  id="_greenButton" text="Green" />
        &nbsp;&nbsp;
        <asp:button runat="server" id="_blueButton" text="Blue" />
    </div>
</body>

.NET Framework
Verfügbar seit 2.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: