WebPartManager.Personalization Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan referensi ke objek yang berisi data personalisasi untuk halaman Web.
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
Nilai Properti
WebPartPersonalization yang berisi data personalisasi.
- Atribut
Contoh
Contoh kode berikut menunjukkan cara menggunakan Personalization properti secara terprogram.
Halaman Web berikut ini memungkinkan pengguna untuk memasuki mode edit untuk mengedit aspek Calendar kontrol tertentu. Tombol Alihkan Cakupan mengalihkan halaman ke cakupan personalisasi pengguna atau bersama. Tombol Mode Edit dan Mode Telusuri masing-masing mengalihkan halaman ke mode tampilan yang sesuai. Perhatikan bahwa di <script>
bagian tag file, dua metode yang menangani peristiwa menggunakan Personalization properti untuk mengakses anggota objek yang mendasar yang berguna. Secara khusus, metode ini menggunakan ToggleScope metode dan Scope properti pada objek yang diakses melalui Personalization properti .
<%@ 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>
Agar contoh kode berjalan, Anda juga harus mengaktifkan pengguna atau pengguna untuk mempersonalisasi halaman dalam cakupan bersama. Tambahkan entri ke file Web.config, di dalam bagian <system.web>
, yang terlihat seperti markup berikut.
<webParts>
<personalization>
<authorization>
<allow
users="[Replace the text and brackets with a user name or
group.]"
roles="admin"
verbs="enterSharedScope" />
</authorization>
</personalization>
</webParts>
Setelah Anda memuat halaman di browser, klik tombol Alihkan Cakupan , dan perhatikan bahwa halaman sekarang mengatakan cakupan dibagikan. Klik Mode Edit untuk mengubah mode tampilan, klik menu kata kerja pada kontrol yang terlihat, dan pilih Edit dari menu. Perhatikan bahwa antarmuka pengguna (UI) untuk kedua kontrol pengeditan muncul. Sekarang klik Telusuri Mode untuk kembali ke penjelajahan normal. Jika halaman mengatakan halaman berada dalam cakupan bersama, klik Alihkan Cakupan lagi untuk memastikan halaman berada dalam cakupan pengguna. Selanjutnya, ikuti langkah yang sama untuk mengedit kontrol lagi, tetapi perhatikan bahwa sekarang di antarmuka pengguna pengeditan, BehaviorEditorPart kontrol tidak muncul. Itu karena kontrol ini hanya berfungsi ketika halaman berada dalam cakupan personalisasi bersama.
Keterangan
Properti Personalization menyediakan cara untuk mengakses WebPartPersonalization objek yang terkait dengan halaman melalui WebPartManager kontrol. Dengan menggunakan properti ini, Anda dapat mengakses berbagai anggota objek personalisasi. Misalnya, Anda dapat menggunakan ToggleScope metode untuk mengalihkan cakupan personalisasi halaman dari cakupan bersama ke pengguna, atau sebaliknya. Anda juga dapat mengetahui cakupan personalisasi halaman saat ini, apakah personalisasi bahkan diaktifkan di halaman, penyedia mana yang digunakan untuk data personalisasi, dan banyak lagi.
Perhatikan bahwa data yang direferensikan Personalization oleh properti hanyalah data personalisasi tingkat halaman yang dilacak oleh WebPartManager kontrol. Data personalisasi khusus kontrol, seperti nilai properti yang dapat dipersonalisasi pada WebPart kontrol, bukan bagian Personalization dari properti .
Catatan
Untuk informasi selengkapnya tentang personalisasi Bagian Web, lihat Gambaran Umum Personalisasi Bagian Web.