WebPartCollection Construtores

Definição

Inicializa uma nova instância da WebPartCollection classe.

Sobrecargas

Name Description
WebPartCollection()

Inicializa uma nova instância vazia da WebPartCollection classe.

WebPartCollection(ICollection)

Inicializa uma nova instância de um WebPartCollection objeto ao passar uma ICollection coleção de WebPart controlos.

WebPartCollection()

Inicializa uma nova instância vazia da WebPartCollection classe.

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

Observações

O WebPartCollection construtor inicializa uma instância vazia da WebPartCollection classe. O objeto em si é apenas de leitura e não tem método para adicionar controlos individuais WebPart ; portanto, terá pouca oportunidade para usar este construtor.

Ver também

Aplica-se a

WebPartCollection(ICollection)

Inicializa uma nova instância de um WebPartCollection objeto ao passar uma ICollection coleção de WebPart controlos.

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 dos WebPart controlos.

Exceções

webParts é null.

Um objeto na webParts coleção é null.

-ou-

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

Exemplos

O exemplo de código seguinte demonstra a utilização do WebPartCollection construtor numa página de Web Parts. Este exemplo tem três partes:

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

  • A página web que contém os controlos.

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

A primeira parte do exemplo de código contém o código da página numa classe parcial. Note que o Button1_Click método cria um WebPartCollection objeto que consiste em todos os WebPart controlos referenciados na WebPartManager.WebParts propriedade, que inclui todos os WebPart controlos na página. O método itera por todos os controlos e alterna a propriedade de ChromeState cada controlo, o que determina se esse controlo é 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 Web que contém os controlos. Note que os controlos declarados em WebPartZone1 são controlos padrão ASP.NET servidor, mas como estão encapsulados como controlos GenericWebPart em tempo de execução, e a classe GenericWebPart herda da classe WebPart, os controlos são automaticamente tratados como controlos WebPart em tempo de execução e, por isso, são incluídos no objeto WebPartCollection.

<%@ 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 carregares a página num navegador, clica no botão Toggle ChromeState e repara que o código na classe parcial percorre o WebPartCollection objeto e alterna entre minimizar os controlos ou devolve-los ao normal. Ou, se clicar repetidamente no botão Toggle BulletedList1 Title , o título do controlo superior é alterado para valores alternativos.

Observações

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

Embora um WebPartCollection objeto seja apenas de leitura e não exista método para adicionar controlos individuais, pode criar a sua própria ICollection coleção de controlos e passar isso ao WebPartCollection construtor. Isto permite-lhe criar coleções personalizadas e realizar operações em massa sobre elas. Também pode aceder aos controlos subjacentes na coleção e alterar os valores das propriedades programáticamente.

Ver também

Aplica-se a