Compartilhar via


WebPartManager controle de servidor Web Declarative sintaxe

Serve sistema autônomo a classe central do conjunto de controles de Web Parts, gerenciando todas sistema autônomo a Web Parts controles, funcionalidade e eventos que ocorrem em uma página da 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>

Comentários

The WebPartManager controle atua sistema autônomo o centralizar de hub ou um controle de um aplicativo Web Parts. Deve haver um — e somente um — a instância do WebPartManager controle em cada página que usa controles de Web Parts e deve ser colocado antes de qualquer controle de zona são colocados. sistema autônomo ocorre com a maioria dos aspectos de aplicativos de Web Parts, a WebPartManager controle funciona somente com usuários autenticados. Além disso, sua funcionalidade funciona quase que totalmente com os controles de servidor que residem nas zonas de Web Parts que herdam o WebZone classe. Controles de servidor que residem em uma página fora de nessas zonas podem ter muito pouca funcionalidade Web Parts ou interação com o WebPartManager controle.

Para obter mais informações sobre o WebPartManager e controles Web Parts, consulte ASP.NET Web Parts Controls.

Exemplo

O exemplo de código a seguir demonstra como usar o WebPartManager controle declarativamente em um cenário de Web Parts usando o Calendar controle. A página da Web permite que um usuário entrar no modo de edição para editar determinados aspectos do Calendar controle. The Alternar escopo botão alterna a página ao usuário ou o escopo de personalização compartilhado. The modo de edição and Procurar de modo botões cada comutador a página no modo de exibição apropriado. Observe que no <script> seção do arquivo, dois dos métodos que lidam com o uso de eventos de marca a Personalization propriedade para acessar membros útil do objeto base. Especificamente, esses métodos usam o ToggleScope método e o Scope propriedade no objeto que é acessado através do Personalization propriedade.

No exemplo de código seja executado, você também deve ativar um ou mais usuários personalizar páginas no escopo compartilhado. Para fazer isso, adicione uma entrada para o arquivo Web.config no webParts elemento (ASP.NET Settings esquema).

<%@ 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>

Consulte também

Referência

WebPartManager

Outros recursos

ASP.NET Web Parts Controls