WebPartManager.Personalization Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Web sayfası için kişiselleştirme verileri içeren bir nesneye başvuru alır.
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
Özellik Değeri
WebPartPersonalization Kişiselleştirme verilerini içeren bir.
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, özelliğinin Personalization program aracılığıyla nasıl kullanılacağını gösterir.
Aşağıdaki Web sayfası, kullanıcının denetimin belirli yönlerini Calendar düzenlemek için düzenleme moduna girmesini sağlar.
Kapsamı Değiştir düğmesi, sayfayı kullanıcı veya paylaşılan kişiselleştirme kapsamına değiştirir.
Düzenleme Modu ve Gözatma Modu düğmelerinin her birinde sayfayı uygun görüntüleme moduna geçirir.
<script>
Dosyanın etiket bölümünde, olayları işleyen yöntemlerden ikisinin temel alınan nesnenin yararlı üyelerine erişmek için özelliğini kullandığına Personalization dikkat edin. Özellikle, bu yöntemler yöntemi ve Scope özelliği aracılığıyla erişilen nesnede Personalization özelliğini kullanırToggleScope.
<%@ 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>
Kod örneğinin çalışması için, bir kullanıcının veya kullanıcıların paylaşılan kapsamdaki sayfaları kişiselleştirmesini de etkinleştirmeniz gerekir. bölümü içindeki <system.web>
Web.config dosyasına aşağıdaki işaretlemeye benzeyen bir girdi ekleyin.
<webParts>
<personalization>
<authorization>
<allow
users="[Replace the text and brackets with a user name or
group.]"
roles="admin"
verbs="enterSharedScope" />
</authorization>
</personalization>
</webParts>
Sayfayı bir tarayıcıda yükledikten sonra Kapsamı Değiştir düğmesine tıklayın ve sayfanın artık kapsamın paylaşıldığını belirttiğine dikkat edin. Görüntüleme modunu değiştirmek için Düzenleme Modu'na tıklayın, görünür denetimde fiiller menüsüne tıklayın ve menüden Düzenle'yi seçin. Her iki düzenleme denetimi için kullanıcı arabiriminin (UI) göründüğüne dikkat edin. Şimdi Gözatma Modu'na tıklayarak normal taramaya dönün. Sayfa paylaşılan kapsamda olduğunu söylüyorsa, sayfanın kullanıcı kapsamında olduğundan emin olmak için Kapsamı Değiştir'e yeniden tıklayın. Ardından, denetimi yeniden düzenlemek için aynı adımları izleyin, ancak artık düzenleme kullanıcı arabiriminde denetimin BehaviorEditorPart görünmediğini göreceksiniz. Bunun nedeni, bu denetimin yalnızca sayfa paylaşılan kişiselleştirme kapsamında olduğunda çalışmasıdır.
Açıklamalar
özelliği, Personalization denetim aracılığıyla WebPartManager bir sayfayla ilişkili nesneye erişmek WebPartPersonalization için bir yol sağlar. Bu özelliği kullanarak kişiselleştirme nesnesinin çeşitli üyelerine erişebilirsiniz. Örneğin, sayfanın kişiselleştirme kapsamını paylaşılandan kullanıcı kapsamına (veya tam tersi) değiştirmek için yöntemini kullanabilirsiniz ToggleScope . Ayrıca sayfanın geçerli kişiselleştirme kapsamını, sayfada kişiselleştirmenin etkinleştirilip etkinleştirilmediğini, kişiselleştirme verileri için hangi sağlayıcının kullanıldığını ve daha fazlasını da öğrenebilirsiniz.
özelliği tarafından Personalization başvuruda bulunan verilerin yalnızca denetim tarafından WebPartManager izlenen sayfa düzeyinde kişiselleştirme verileri olduğunu unutmayın. Denetimlerdeki kişiselleştirilebilir özelliklerin WebPart değerleri gibi denetime özgü kişiselleştirme verileri özelliğin Personalization bir parçası değildir.
Not
Web Bölümlerini kişiselleştirme hakkında daha fazla bilgi için bkz. Web Bölümleri Kişiselleştirmeye Genel Bakış.