Freigeben über


WebPartManager.Personalization Eigenschaft

Definition

Ruft einen Verweis auf ein Objekt ab, das Personalisierungsdaten für eine Webseite enthält.

public:
 property System::Web::UI::WebControls::WebParts::WebPartPersonalization ^ Personalization { System::Web::UI::WebControls::WebParts::WebPartPersonalization ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.WebParts.WebPartPersonalization Personalization { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Personalization : System.Web.UI.WebControls.WebParts.WebPartPersonalization
Public ReadOnly Property Personalization As WebPartPersonalization

Eigenschaftswert

Eine WebPartPersonalization, die Personalisierungsdaten enthält.

Attribute

Beispiele

Im folgenden Codebeispiel wird die programmgesteuerte Verwendung der Personalization -Eigenschaft veranschaulicht.

Auf der folgenden Webseite kann ein Benutzer in den Bearbeitungsmodus wechseln, um bestimmte Aspekte des Calendar Steuerelements zu bearbeiten. Die Schaltfläche Bereich umschalten wechselt die Seite in den Benutzer- oder freigegebenen Personalisierungsbereich. Mit den Schaltflächen Bearbeitungsmodus und Browsemodus wird die Seite jeweils in den entsprechenden Anzeigemodus versetzt. Beachten Sie, dass im <script> Tagabschnitt der Datei zwei der Methoden, die Ereignisse behandeln, die Personalization -Eigenschaft verwenden, um auf nützliche Member des zugrunde liegenden Objekts zuzugreifen. Insbesondere verwenden diese Methoden die ToggleScope -Methode und die Scope -Eigenschaft für das Objekt, auf das über die Personalization -Eigenschaft zugegriffen wird.

<%@ Page Language="c#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Button1_Click(object sender, EventArgs e)
  {
    if ((mgr1.Personalization.Scope == PersonalizationScope.User)
      && (mgr1.Personalization.CanEnterSharedScope))
    {
      mgr1.Personalization.ToggleScope();
    }
    else if (mgr1.Personalization.Scope ==
      PersonalizationScope.Shared)
    {
      mgr1.Personalization.ToggleScope();
    }
    else
    {
      // If the user cannot enter shared scope you may want
      // to notify them on the page.
    }
  }

  protected void Button2_Click(object sender, EventArgs e)
  {
    mgr1.DisplayMode = WebPartManager.EditDisplayMode;
  }

  protected void Button3_Click(object sender, EventArgs e)
  {
    mgr1.DisplayMode = WebPartManager.BrowseDisplayMode;
  }

  protected void Page_Load(object sender, EventArgs e)
  {
    Label1.Text = "Scope is: "
      + mgr1.Personalization.Scope.ToString();
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar ID="Calendar1" runat="server" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:EditorZone ID="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
            runat="server"  />
          <asp:BehaviorEditorPart ID="BehaviorEditorPart1" 
            runat="server" />
        </ZoneTemplate>
      </asp:EditorZone>
      <hr />
      <asp:Button ID="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click"  />
      <asp:Button ID="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
      <asp:Button ID="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
      <br />
      <asp:Label ID="Label1" runat="server" Text="" />
     </div>
     </form>
</body>
</html>
<%@ Page Language="vb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Protected Sub Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    If mgr1.Personalization.Scope = PersonalizationScope.User _
      AndAlso mgr1.Personalization.CanEnterSharedScope Then
      mgr1.Personalization.ToggleScope()
    ElseIf mgr1.Personalization.Scope = _
      PersonalizationScope.Shared Then
      mgr1.Personalization.ToggleScope()
    Else
      ' If the user cannot enter shared scope you may want
      ' to notify them on the page.
    End If
    
  End Sub
  
  Protected Sub Button2_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    mgr1.DisplayMode = WebPartManager.EditDisplayMode
  End Sub
  
  Protected Sub Button3_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    mgr1.DisplayMode = WebPartManager.BrowseDisplayMode
  End Sub

  Protected Sub Page_Load(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    Label1.Text = "Scope is: " & mgr1.Personalization.Scope.ToString()
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar ID="Calendar1" runat="server" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:EditorZone ID="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
            runat="server"  />
          <asp:BehaviorEditorPart ID="BehaviorEditorPart1" 
            runat="server" />
        </ZoneTemplate>
      </asp:EditorZone>
      <hr />
      <asp:Button ID="Button1" runat="server" Text="Toggle Scope" OnClick="Button1_Click"  />
      <asp:Button ID="Button2" runat="server" Text="Edit Mode" OnClick="Button2_Click" />
      <asp:Button ID="Button3" runat="server" Text="Browse Mode" OnClick="Button3_Click" />
      <br />
      <asp:Label ID="Label1" runat="server" Text="" />
     </div>
     </form>
</body>
</html>

Damit das Codebeispiel ausgeführt werden kann, müssen Sie auch einem Oder mehreren Benutzern das Personalisieren von Seiten im freigegebenen Bereich ermöglichen. Fügen Sie der Web.config-Datei innerhalb des Abschnitts einen Eintrag hinzu, der <system.web> wie das folgende Markup aussieht.

<webParts>  
  <personalization>  
    <authorization>  
      <allow  
        users="[Replace the text and brackets with a user name or   
           group.]"  
        roles="admin"   
        verbs="enterSharedScope"  />  
    </authorization>  
  </personalization>  
</webParts>   

Nachdem Sie die Seite in einem Browser geladen haben, klicken Sie auf die Schaltfläche Bereich umschalten , und beachten Sie, dass auf der Seite jetzt angezeigt wird, dass der Bereich freigegeben ist. Klicken Sie auf Bearbeitungsmodus , um den Anzeigemodus zu ändern, klicken Sie auf das Menü Verben im sichtbaren Steuerelement, und wählen Sie im Menü Bearbeiten aus. Beachten Sie, dass die Benutzeroberfläche (UI) für beide Bearbeitungssteuerelemente angezeigt wird. Klicken Sie nun auf Browsermodus , um zum normalen Browsen zurückzukehren. Wenn die Seite angibt, dass sie sich im freigegebenen Bereich befindet, klicken Sie erneut auf Bereich umschalten , um sicherzustellen, dass sich die Seite im Benutzerbereich befindet. Führen Sie als Nächstes die gleichen Schritte aus, um das Steuerelement erneut zu bearbeiten. Beachten Sie jedoch, dass das BehaviorEditorPart Steuerelement jetzt auf der Bearbeitungsbenutzeroberfläche nicht angezeigt wird. Das liegt daran, dass dieses Steuerelement nur funktioniert, wenn sich die Seite im freigegebenen Personalisierungsbereich befindet.

Hinweise

Die Personalization -Eigenschaft bietet eine Möglichkeit, über das -Steuerelement auf das WebPartPersonalization -Objekt zuzugreifen, das WebPartManager einer Seite zugeordnet ist. Mit dieser Eigenschaft können Sie auf die verschiedenen Member des Personalisierungsobjekts zugreifen. Beispielsweise können Sie die ToggleScope -Methode verwenden, um den Personalisierungsbereich der Seite von freigegeben in Benutzerbereich zu ändern oder umgekehrt. Sie können auch den aktuellen Personalisierungsbereich der Seite ermitteln, ob die Personalisierung auf der Seite überhaupt aktiviert ist, welcher Anbieter für die Personalisierungsdaten verwendet wird und vieles mehr.

Beachten Sie, dass die Daten, auf die von der Personalization -Eigenschaft verwiesen wird, nur die Personalisierungsdaten auf Seitenebene sind, die WebPartManager vom Steuerelement nachverfolgt werden. Steuerelementspezifische Personalisierungsdaten, z. B. die Werte von personalisierbaren Eigenschaften für WebPart Steuerelemente, sind nicht Teil der Personalization -Eigenschaft.

Hinweis

Weitere Informationen zur Personalisierung von Webparts finden Sie unter Übersicht über die Personalisierung von Webparts.

Gilt für:

Weitere Informationen