WebPartManager.Personalization Eigenschap

Definitie

Hiermee haalt u een verwijzing op naar een object dat persoonlijke gegevens voor een webpagina bevat.

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

Waarde van eigenschap

Een WebPartPersonalization die persoonlijke gegevens bevat.

Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de Personalization eigenschap programmatisch gebruikt.

Op de volgende webpagina kan een gebruiker de bewerkingsmodus openen om bepaalde aspecten van het Calendar besturingselement te bewerken. Met de wisselknop Bereik schakelt u de pagina over naar het bereik voor gebruikers of gedeelde persoonlijke instellingen. De knoppen Bewerkingsmodus en Bladermodus schakelen elke pagina over in de juiste weergavemodus. U ziet dat in de <script> tagsectie van het bestand twee van de methoden die gebeurtenissen verwerken, gebruikmaken van de Personalization eigenschap voor toegang tot nuttige leden van het onderliggende object. Deze methoden gebruiken met name de ToggleScope methode en de Scope eigenschap van het object dat via de Personalization eigenschap wordt geopend.

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

Als u het codevoorbeeld wilt uitvoeren, moet u ook een gebruiker of gebruikers in staat stellen pagina's in een gedeeld bereik aan te passen. Voeg een vermelding toe aan het Web.config-bestand, binnen de <system.web> sectie, die eruitziet als de volgende markeringen.

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

Nadat u de pagina in een browser hebt geladen, klikt u op de knop Bereik in-/uitschakelen en ziet u dat het bereik nu wordt gedeeld op de pagina. Klik op De bewerkingsmodus om de weergavemodus te wijzigen, klik op het menu Werkwoorden in het zichtbare besturingselement en selecteer Bewerken in het menu. U ziet dat de gebruikersinterface (UI) voor beide besturingselementen voor bewerken wordt weergegeven. Klik nu op De bladermodus om terug te keren naar normaal browsen. Als op de pagina wordt opgegeven dat deze zich in het gedeelde bereik bevindt, klikt u nogmaals op Bereik in-/uitschakelen om ervoor te zorgen dat de pagina zich in het gebruikersbereik bevindt. Volg vervolgens dezelfde stappen om het besturingselement opnieuw te bewerken, maar u ziet dat het besturingselement nu niet wordt weergegeven in de BehaviorEditorPart bewerkingsinterface. Dit komt doordat dit besturingselement alleen werkt wanneer de pagina zich in het bereik voor gedeelde persoonlijke instellingen bevindt.

Opmerkingen

De Personalization eigenschap biedt een manier om toegang te krijgen tot het WebPartPersonalization object dat is gekoppeld aan een pagina via het WebPartManager besturingselement. Met deze eigenschap hebt u toegang tot de verschillende leden van het persoonlijke object. U kunt bijvoorbeeld de ToggleScope methode gebruiken om het persoonlijke bereik van de pagina te wijzigen van gedeeld naar gebruikersbereik of omgekeerd. U kunt ook het huidige persoonlijke bereik van de pagina achterhalen, of persoonlijke instellingen zelfs zijn ingeschakeld op de pagina, welke provider wordt gebruikt voor de persoonlijke gegevens en meer.

Houd er rekening mee dat de gegevens waarnaar wordt verwezen door de Personalization eigenschap alleen de persoonlijke instellingen op paginaniveau zijn die door het WebPartManager besturingselement worden bijgehouden. Besturingsspecifieke persoonlijke gegevens, zoals de waarden van aanpasbare eigenschappen op WebPart besturingselementen, maken geen deel uit van de Personalization eigenschap.

Note

Zie Overzicht van persoonlijke instellingen voor webonderdelen voor meer informatie over persoonlijke instellingen voor webonderdelen.

Van toepassing op

Zie ook