Condividi tramite


Sintassi dichiarativa per il controllo server Web WebPartManager

[Questa documentazione ha solo scopo di anteprima ed è soggetta a modifiche nelle versioni successive. Gli argomenti vuoti sono inclusi come segnaposto.]

Funge da classe centrale dell'insieme di controlli Web part per la gestione di tutti i controlli, le funzionalità e gli eventi Web part implicati in una pagina Web.

<asp:WebPartManager
    CloseProviderWarning="string"
    DeleteWarning="string"
    EnableClientScript="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ExportSensitiveDataWarning="string"
    ID="string"
    OnAuthorizeWebPart="AuthorizeWebPart event handler"
    OnConnectionsActivated="ConnectionsActivated event handler"
    OnConnectionsActivating="ConnectionsActivating event handler"
    OnDataBinding="DataBinding event handler"
    OnDisplayModeChanged="DisplayModeChanged event handler"
    OnDisplayModeChanging="DisplayModeChanging event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnSelectedWebPartChanged="SelectedWebPartChanged event handler"
    OnSelectedWebPartChanging="SelectedWebPartChanging event handler"
    OnUnload="Unload event handler"
    OnWebPartAdded="WebPartAdded event handler"
    OnWebPartAdding="WebPartAdding event handler"
    OnWebPartClosed="WebPartClosed event handler"
    OnWebPartClosing="WebPartClosing event handler"
    OnWebPartDeleted="WebPartDeleted event handler"
    OnWebPartDeleting="WebPartDeleting event handler"
    OnWebPartMoved="WebPartMoved event handler"
    OnWebPartMoving="WebPartMoving event handler"
    OnWebPartsConnected="WebPartsConnected event handler"
    OnWebPartsConnecting="WebPartsConnecting event handler"
    OnWebPartsDisconnected="WebPartsDisconnected event handler"
    OnWebPartsDisconnecting="WebPartsDisconnecting event handler"
    Personalization-Enabled="True|False"
    Personalization-InitialScope="User|Shared"
    Personalization-ProviderName="string"
    runat="server"
    SkinID="string"
>
    <Personalization
        Enabled="True|False"
        InitialScope="User|Shared"
        ProviderName="string" />
    <StaticConnections>
        <asp:WebPartConnection
            ConsumerConnectionPointID="string"
            ConsumerID="string"
            ID="string"
            ProviderConnectionPointID="string"
            ProviderID="string" >
            <asp:RowToFieldTransformer
                FieldName="string" />
            <asp:RowToParametersTransformer
                ConsumerFieldNames="string"
                ProviderFieldNames="string"/>
        </asp:WebPartConnection>
    </StaticConnections>
</asp:WebPartManager>

Note

Il controllo WebPartManager agisce da hub o centro di controllo di un'applicazione Web part. In ogni pagina in cui vengono utilizzati controlli Web part è necessario che sia presente una (e una sola) istanza del controllo WebPartManager, che deve essere inserita prima del posizionamento di eventuali controlli di zona. Come per la maggior parte degli aspetti delle applicazioni Web part, il controllo WebPartManager funziona solo con gli utenti autenticati. Inoltre, la sua funzionalità è garantita quasi interamente dai controlli server che risiedono all'interno di aree delle Web part che ereditano dalla classe WebZone. I controlli server residenti in una pagina esterna a tali zone presentano livelli limitati di funzionalità Web part o interazione con il controllo WebPartManager.

Per ulteriori informazioni sul controllo WebPartManager e sui controlli Web part, vedere ASP.NET Web Parts Pages.

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare in modo dichiarativo il controllo WebPartManager in uno scenario Web part con il controllo Calendar. La pagina Web consente a un utente di passare in modalità di modifica per modificare determinati aspetti del controllo Calendar. Il pulsante Toggle Scope consente di alternare l'ambito di personalizzazione della pagina dall'ambito user all'ambito condiviso o viceversa. I pulsanti Edit Mode e Browse Mode consentono di attivare la modalità di visualizzazione appropriata per la pagina. Nella sezione del tag <script> del file, due dei metodi di gestione degli eventi impiegano la proprietà Personalization per accedere ai membri utili dell'oggetto sottostante. In particolare questi metodi utilizzano il metodo ToggleScope e la proprietà Scope sull'oggetto accessibile tramite la proprietà Personalization.

Per poter eseguire l'esempio di codice, è inoltre necessario consentire a uno o più utenti di personalizzare le pagine nell'ambito condiviso. A tale scopo, aggiungere una voce nella sezione Elemento webParts (schema delle impostazioni ASP.NET) del file Web.config.

<%@ 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) _
           And (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 CommandEventArgs)
        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>Web Parts Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:LoginName id="LoginName1" runat="server" />
      <asp:WebPartManager id="mgr1" runat="server">
        <Personalization InitialScope="Shared" Enabled="True" />
      </asp:WebPartManager>
      <asp:WebPartZone id="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar id="Calendar1" runat="server" />
        </ZoneTemplate>
        <CloseVerb Text="Close This Part" />
        <MinimizeVerb Text="Minimize This Part" />
        <EditVerb Text="Edit This Part" />
      </asp:WebPartZone>
      <asp:EditorZone id="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:LayoutEditorPart HorizontalAlign="Center" id="Layout1" runat="server" Title="My Custom Layout" />
          <asp:AppearanceEditorPart id="AppearanceEditorPart1" 
            runat="server" BackColor="LightGray" />
          <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="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>Web Parts Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:LoginName id="LoginName1" runat="server" />
      <asp:WebPartManager id="mgr1" runat="server">
        <Personalization InitialScope="Shared" Enabled="True" />
      </asp:WebPartManager>
      <asp:WebPartZone id="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar id="Calendar1" runat="server" />
        </ZoneTemplate>
        <CloseVerb Text="Close This Part" />
        <MinimizeVerb Text="Minimize This Part" />
        <EditVerb Text="Edit This Part" />
      </asp:WebPartZone>
      <asp:EditorZone id="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:LayoutEditorPart HorizontalAlign="Center" id="Layout1" runat="server" Title="My Custom Layout" />
          <asp:AppearanceEditorPart id="AppearanceEditorPart1" 
            runat="server" BackColor="LightGray" />
          <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>

Vedere anche

Riferimenti

WebPartManager

Altre risorse

ASP.NET Web Parts Pages