WebPartManager.Personalization Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá odkaz na objekt, který obsahuje data přizpůsobení webové stránky.
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 data individuálního nastavení.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak použít Personalization vlastnost programově.
Následující webová stránka umožňuje uživateli přejít do režimu úprav a upravit 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ého rozsahu. Tlačítka Režim úprav a Režim procházení přepnou stránku do příslušného režimu zobrazení. Všimněte si, že v oddílu <script>
tag souboru dvě z metod, 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 ToggleScope a Scope 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>
Aby se příklad kódu spustil, musíte také povolit uživateli nebo uživatelům přizpůsobení stránek ve sdíleném oboru. Do souboru Web.config v oddílu <system.web>
přidejte položku, 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ď uvádí, že obor je sdílený. Kliknutím na Režim úprav změňte režim zobrazení, klikněte na nabídku sloves u viditelného ovládacího prvku a v nabídce vyberte Upravit . Všimněte si, že se zobrazí uživatelské rozhraní pro oba ovládací prvky pro úpravy. Nyní klikněte na Režim procházení , abyste se vrátili k normálnímu procházení. Pokud stránka uvádí, že je ve sdíleném oboru, klikněte znovu na Přepnout obor a ujistěte se, že je stránka v oboru uživatele. Potom podle stejných kroků upravte ovládací prvek znovu, ale všimněte si, BehaviorEditorPart že se teď v uživatelském rozhraní pro úpravy ovládací prvek nezobrazuje. Je to proto, ž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 přístupu k objektu WebPartPersonalization , který je přidružen ke 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 uživatelský nebo naopak. Můžete také zjistit aktuální rozsah přizpůsobení stránky, jestli je přizpůsobení na stránce povolené, který poskytovatel se používá pro data přizpůsobení, a další.
Všimněte si, že data, na která Personalization odkazuje vlastnost, jsou pouze daty přizpůsobení na úrovni stránky, která jsou sledována ovládacím WebPartManager prvek. Data přizpůsobení specifická pro ovládací prvky, například hodnoty přizpůsobitelných vlastností WebPart ovládacích prvků, nejsou součástí Personalization vlastnosti .
Poznámka
Další informace o přizpůsobení webových částí najdete v tématu Přehled přizpůsobení webových částí.