Partilhar via


WebPartCollection Construtores

Definição

Inicializa uma nova instância da classe WebPartCollection.

Sobrecargas

WebPartCollection()

Inicializa uma nova instância vazia da classe WebPartCollection.

WebPartCollection(ICollection)

Inicializa uma nova instância de um objeto WebPartCollection passando uma coleção ICollection de controles WebPart.

WebPartCollection()

Inicializa uma nova instância vazia da classe WebPartCollection.

public:
 WebPartCollection();
public WebPartCollection ();
Public Sub New ()

Comentários

O WebPartCollection construtor inicializa uma instância vazia da WebPartCollection classe . O objeto em si é somente leitura e não tem nenhum método para adicionar controles individuais WebPart a ele; portanto, você terá pouca ocasião para usar esse construtor.

Confira também

Aplica-se a

WebPartCollection(ICollection)

Inicializa uma nova instância de um objeto WebPartCollection passando uma coleção ICollection de controles WebPart.

public:
 WebPartCollection(System::Collections::ICollection ^ webParts);
public WebPartCollection (System.Collections.ICollection webParts);
new System.Web.UI.WebControls.WebParts.WebPartCollection : System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.WebPartCollection
Public Sub New (webParts As ICollection)

Parâmetros

webParts
ICollection

Um ICollection de controles de WebPart.

Exceções

webParts é null.

Um objeto na coleção webParts é null.

- ou -

Um objeto na coleção webParts não é do tipo WebPart.

Exemplos

O exemplo de código a seguir demonstra o uso do WebPartCollection construtor em uma página de Web Parts. Este exemplo tem três partes:

  • O código da página em uma classe parcial.

  • A página da Web que contém os controles.

  • Uma descrição de como o exemplo funciona em um navegador.

A primeira parte do exemplo de código contém o código da página em uma classe parcial. Observe que o Button1_Click método cria um WebPartCollection objeto que consiste em todos os WebPart controles referenciados na WebPartManager.WebParts propriedade , que inclui todos os WebPart controles na página. O método itera por todos os controles e alterna a propriedade de ChromeState cada controle, que determina se esse controle é normal ou minimizado.

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class webpartcollectioncs : System.Web.UI.Page
{
  protected void Button1_Click(object sender, EventArgs e)
  {

    WebPartCollection partCollection = mgr1.WebParts;

    foreach (WebPart part in partCollection)
    {
      if (part.ChromeState != PartChromeState.Minimized)
        part.ChromeState = PartChromeState.Minimized;
      else
        part.ChromeState = PartChromeState.Normal;
    }
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
    WebPartCollection partCollection = WebPartZone1.WebParts;

    if (partCollection[0].Title == "My Link List")
      partCollection[0].Title = "Favorite Links";
    else
      partCollection[0].Title = "My Link List";
  }
}
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Partial Public Class webpartcollectionvb

  Inherits System.Web.UI.Page

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim partCollection As WebPartCollection = mgr1.WebParts
    Dim part As WebPart

    For Each part In partCollection
      If part.ChromeState <> PartChromeState.Minimized Then
        part.ChromeState = PartChromeState.Minimized
      Else
        part.ChromeState = PartChromeState.Normal
      End If
    Next

  End Sub

  Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim partCollection As WebPartCollection = WebPartZone1.WebParts

    If partCollection(0).Title = "My Link List" Then
      partCollection(0).Title = "Favorite Links"
    Else
      partCollection(0).Title = "My Link List"
    End If

  End Sub

End Class

A segunda parte do exemplo de código é a página da Web que contém os controles. Observe que os controles declarados em WebPartZone1 são controles de servidor padrão ASP.NET, mas como eles são encapsulados como GenericWebPart controles em tempo de execução e a GenericWebPart classe herda da WebPart classe , os controles são tratados automaticamente como WebPart controles em tempo de execução e, portanto, são incluídos no WebPartCollection objeto .

<%@ Page Language="C#" 
  Codefile="webpartcollection.cs" 
  Inherits="webpartcollectioncs" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
          <br />
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
    </div>
    <hr />
    <asp:Button ID="Button1" runat="server" Width="200"
      Text="Toggle ChromeState" OnClick="Button1_Click" />
    <br />
    <asp:Button ID="Button2" runat="server" Width="200"
        Text="Toggle BulletedList1 Title" 
        OnClick="Button2_Click"/>
    </form>
</body>
</html>
<%@ Page Language="vb"
  Codefile="webpartcollection.vb" 
  Inherits="webpartcollectionvb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
          <br />
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
    </div>
    <hr />
    <asp:Button ID="Button1" runat="server" Width="200"
      Text="Toggle ChromeState" OnClick="Button1_Click" />
    <br />
    <asp:Button ID="Button2" runat="server" Width="200"
        Text="Toggle BulletedList1 Title" 
        OnClick="Button2_Click"/>
    </form>
</body>
</html>

Depois de carregar a página em um navegador, clique no botão Alternar ChromeState e observe que o código na classe parcial percorre o WebPartCollection objeto e, como alternativa, minimiza os controles ou os retorna ao normal. Ou, se você clicar repetidamente no botão Alternar BulletedList1 Title , o título do controle superior será alterado para valores alternativos.

Comentários

O WebPartCollection construtor inicializa uma instância da WebPartCollection classe passando uma coleção de WebPart controles.

Embora um WebPartCollection objeto seja somente leitura e não haja nenhum método para adicionar controles individuais a ele, você pode criar sua própria ICollection coleção de controles e passá-lo para o WebPartCollection construtor. Isso permite que você crie coleções personalizadas e execute operações em massa nelas. Você também pode acessar os controles subjacentes na coleção e alterar seus valores de propriedade programaticamente.

Confira também

Aplica-se a