WebPartManager.Personalization Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un riferimento a un oggetto che contiene dati di personalizzazione per una pagina 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
Valore della proprietà
Valore WebPartPersonalization che contiene i dati di personalizzazione.
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrato come usare la Personalization proprietà a livello di codice.
La pagina Web seguente consente a un utente di immettere la modalità di modifica per modificare determinati aspetti del Calendar controllo. Il pulsante Toggle Scope passa la pagina all'ambito di personalizzazione utente o condiviso. I pulsanti Modalità di modifica e modalità sfoglia passano la pagina alla modalità di visualizzazione appropriata. Si noti che nella <script>
sezione tag del file, due dei metodi che gestiscono gli eventi usano la Personalization proprietà per accedere ai membri utili dell'oggetto sottostante. In particolare, questi metodi usano il ToggleScope metodo e la Scope proprietà sull'oggetto a cui si accede tramite la Personalization proprietà .
<%@ 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>
Per l'esecuzione dell'esempio di codice, è anche necessario abilitare un utente o un utente per personalizzare le pagine nell'ambito condiviso. Aggiungere una voce al file Web.config, all'interno della <system.web>
sezione, simile al markup seguente.
<webParts>
<personalization>
<authorization>
<allow
users="[Replace the text and brackets with a user name or
group.]"
roles="admin"
verbs="enterSharedScope" />
</authorization>
</personalization>
</webParts>
Dopo aver caricato la pagina in un browser, fare clic sul pulsante Disattiva ambito e notare che la pagina indica ora che l'ambito è condiviso. Fare clic su Modifica modalità per modificare la modalità di visualizzazione, fare clic sul menu verbi nel controllo visibile e selezionare Modifica dal menu. Si noti che viene visualizzata l'interfaccia utente per entrambi i controlli di modifica. Fare ora clic su Sfoglia modalità per tornare alla normale navigazione. Se la pagina indica che è nell'ambito condiviso, fare di nuovo clic su Disattiva ambito per assicurarsi che la pagina sia nell'ambito utente. Seguire quindi gli stessi passaggi per modificare di nuovo il controllo, ma si noti che ora nell'interfaccia utente di modifica, il BehaviorEditorPart controllo non viene visualizzato. Questo perché questo controllo funziona solo quando la pagina è nell'ambito di personalizzazione condivisa.
Commenti
La Personalization proprietà consente di accedere all'oggetto WebPartPersonalization associato a una pagina tramite il WebPartManager controllo . Usando questa proprietà, è possibile accedere ai vari membri dell'oggetto personalizzazione. Ad esempio, è possibile usare il metodo per cambiare l'ambito ToggleScope di personalizzazione della pagina dall'ambito condiviso all'ambito utente o viceversa. È anche possibile scoprire l'ambito di personalizzazione corrente della pagina, se la personalizzazione è abilitata anche nella pagina, quale provider viene usato per i dati di personalizzazione e altro ancora.
Si noti che i dati a cui fa riferimento la Personalization proprietà sono solo i dati di personalizzazione a livello di pagina rilevati dal WebPartManager controllo. I dati di personalizzazione specifici del controllo, ad esempio i valori delle proprietà personalizzabili nei WebPart controlli, non fanno parte della Personalization proprietà.
Nota
Per altre informazioni sulla personalizzazione delle web part, vedere Panoramica sulla personalizzazione delle web part.