Sdílet prostřednictvím


WebPartManager.Personalization Vlastnost

Definice

Získá odkaz na objekt, který obsahuje osobní údaje pro webovou stránku.

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

Hodnota vlastnosti

A WebPartPersonalization , která obsahuje osobní údaje.

Atributy

Příklady

Následující příklad kódu ukazuje, jak používat Personalization vlastnost programově.

Následující webová stránka umožňuje uživateli přejít do režimu úprav, aby upravil určité aspekty Calendar ovládacího prvku. Tlačítko Přepnout obor přepne stránku na obor přizpůsobení uživatele nebo sdílené. Tlačítka Režim úprav a Režimprocházení přepne stránku do příslušného režimu zobrazení. Všimněte si, že v <script> části značky souboru dvě metody, které zpracovávají události, používají Personalization vlastnost pro přístup k užitečným členům podkladového objektu. Konkrétně tyto metody používají metodu ToggleScopeScope a vlastnost objektu, ke které se přistupuje prostřednictvím Personalization vlastnosti.

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

Pro spuštění příkladu kódu musíte také povolit uživateli nebo uživatelům přizpůsobit stránky ve sdíleném oboru. Přidejte položku do souboru Web.config v oddílu <system.web> , který vypadá jako následující kód.

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

Po načtení stránky v prohlížeči klikněte na tlačítko Přepnout obor a všimněte si, že stránka teď říká, že obor je sdílený. Chcete-li změnit režim zobrazení, klepněte na příkazy nabídky viditelného ovládacího prvku a v nabídce vyberte Upravit. Všimněte si, že se zobrazí uživatelské rozhraní (UI) pro oba ovládací prvky pro úpravy. Klepnutím na tlačítko Procházet režim se vrátíte k normálnímu procházení. Pokud se na stránce zobrazí zpráva, že je ve sdíleném oboru, klikněte znovu na Přepnout obor , abyste zajistili, že je stránka v oboru uživatele. Dále postupujte stejným postupem, jak ovládací prvek znovu upravit, ale všimněte si, BehaviorEditorPart že teď v uživatelském rozhraní pro úpravy se ovládací prvek nezobrazí. Důvodem je to, že tento ovládací prvek funguje pouze v případě, že je stránka ve sdíleném oboru přizpůsobení.

Poznámky

Vlastnost Personalization poskytuje způsob, jak získat přístup k objektu WebPartPersonalization , který je přidružen k stránce prostřednictvím WebPartManager ovládacího prvku. Pomocí této vlastnosti můžete přistupovat k různým členům objektu přizpůsobení. Pomocí metody můžete ToggleScope například přepnout obor přizpůsobení stránky ze sdíleného na obor uživatele nebo naopak. Můžete také zjistit aktuální rozsah přizpůsobení stránky, jestli je na stránce povolená přizpůsobení, který zprostředkovatel se používá pro osobní údaje a další.

Všimněte si, že data odkazovaná vlastností Personalization jsou pouze osobní údaje na úrovni stránky, které ovládací prvek sleduje WebPartManager . Data přizpůsobení specifická pro ovládací prvky, jako jsou hodnoty personalizovatelných vlastností ovládacích WebPart prvků, nejsou součástí Personalization vlastnosti.

Poznámka:

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

Platí pro

Viz také