WebPartManager.Personalization Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar en referens till ett objekt som innehåller anpassningsdata för en webbsida.
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
Egenskapsvärde
En WebPartPersonalization som innehåller personanpassningsdata.
- Attribut
Exempel
Följande kodexempel visar hur du använder egenskapen Personalization programmatiskt.
På följande webbsida kan en användare ange redigeringsläge för att redigera vissa aspekter av Calendar kontrollen. Knappen Växla omfång växlar sidan till användar- eller delat anpassningsomfång. Knapparna Redigera läge och Bläddra i läge växlar var och en sidan till lämpligt visningsläge. Observera att i <script> taggavsnittet i filen använder Personalization två av metoderna som hanterar händelser egenskapen för att få åtkomst till användbara medlemmar i det underliggande objektet. Mer specifikt använder ToggleScope dessa metoder metoden och Scope egenskapen på objektet som nås via Personalization egenskapen .
<%@ 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>
För att kodexemplet ska kunna köras måste du också göra det möjligt för en användare eller användare att anpassa sidor i delat omfång. Lägg till en post i Web.config-filen i <system.web> avsnittet som ser ut som följande markering.
<webParts>
<personalization>
<authorization>
<allow
users="[Replace the text and brackets with a user name or
group.]"
roles="admin"
verbs="enterSharedScope" />
</authorization>
</personalization>
</webParts>
När du har läst in sidan i en webbläsare klickar du på knappen Växla omfång och ser att sidan nu säger att omfånget delas. Klicka på Redigera läge för att ändra visningsläget, klicka på verbmenyn på den synliga kontrollen och välj Redigera på menyn. Observera att användargränssnittet (UI) för båda redigeringskontrollerna visas. Klicka nu på Bläddringsläge för att återgå till normal surfning. Om sidan säger att den är i delat omfång klickar du på Växla omfång igen för att se till att sidan finns i användaromfånget. Följ sedan samma steg för att redigera kontrollen igen, men observera att kontrollen inte visas nu i redigeringsgränssnittet BehaviorEditorPart . Det beror på att den här kontrollen bara fungerar när sidan finns i ett delat anpassningsomfång.
Kommentarer
Egenskapen Personalization ger ett sätt att komma åt objektet WebPartPersonalization som är associerat med en sida via WebPartManager kontrollen. Med den här egenskapen kan du komma åt de olika medlemmarna i anpassningsobjektet. Du kan till exempel använda ToggleScope metoden för att växla sidans anpassningsomfång från delat till användaromfång eller vice versa. Du kan också ta reda på sidans aktuella anpassningsomfång, om anpassning ens är aktiverad på sidan, vilken provider som används för anpassningsdata med mera.
Observera att de data som refereras av Personalization egenskapen endast är anpassningsdata på sidnivå som spåras av WebPartManager kontrollen. Kontrollspecifika anpassningsdata, till exempel värdena för personliga egenskaper för WebPart kontroller, är inte en del av egenskapen Personalization .
Note
Mer information om anpassning av webbdelar finns i Översikt över anpassning av webbdelar.