Share via


WebPartCollection Constructores

Definición

Inicializa una nueva instancia de la clase WebPartCollection.

Sobrecargas

WebPartCollection()

Inicializa una nueva instancia vacía de la clase WebPartCollection.

WebPartCollection(ICollection)

Inicializa una nueva instancia de un objeto WebPartCollection pasando como parámetro una colección ICollection de controles WebPart.

WebPartCollection()

Inicializa una nueva instancia vacía de la clase WebPartCollection.

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

Comentarios

El WebPartCollection constructor inicializa una instancia vacía de la WebPartCollection clase . El propio objeto es de solo lectura y no tiene ningún método para agregar controles individuales WebPart a él; por lo tanto, tendrá poca ocasión para usar este constructor.

Consulte también

Se aplica a

WebPartCollection(ICollection)

Inicializa una nueva instancia de un objeto WebPartCollection pasando como parámetro una colección 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

Colección ICollection de controles WebPart.

Excepciones

webParts es null.

Un objeto de la colección webParts es null.

o bien Un objeto de la colección webParts no es del tipo WebPart.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del WebPartCollection constructor en una página de elementos web. Este ejemplo tiene tres partes:

  • Código de la página en una clase parcial.

  • Página web que contiene los controles.

  • Descripción de cómo funciona el ejemplo en un explorador.

La primera parte del ejemplo de código contiene el código de la página en una clase parcial. Tenga en cuenta que el Button1_Click método crea un WebPartCollection objeto que consta de todos los controles a los WebPart que se hace referencia en la WebPartManager.WebParts propiedad , que incluye todos los WebPart controles de la página. El método recorre en iteración todos los controles y alterna la propiedad de ChromeState cada control, que determina si ese control es normal o 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

La segunda parte del ejemplo de código es la página web que contiene los controles. Observe que los controles declarados en WebPartZone1 son controles de servidor estándar ASP.NET, pero porque se encapsulan como GenericWebPart controles en tiempo de ejecución y la GenericWebPart clase hereda de la WebPart clase , los controles se tratan automáticamente como WebPart controles en tiempo de ejecución y, por lo tanto, se incluyen en el 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>

Después de cargar la página en un explorador, haga clic en el botón Alternar ChromeState y observe que el código de la clase parcial recorre el WebPartCollection objeto y minimiza alternativamente los controles o los devuelve a la normalidad. O bien, si haces clic repetidamente en el botón Toggle BulletedList1 Title , el título del control superior se cambia a valores alternativos.

Comentarios

El WebPartCollection constructor inicializa una instancia de la WebPartCollection clase pasando una colección de WebPart controles.

Aunque un WebPartCollection objeto es de solo lectura y no hay ningún método para agregar controles individuales a él, puede crear su propia ICollection colección de controles y pasarlo al WebPartCollection constructor. Esto le permite crear colecciones personalizadas y realizar operaciones masivas en ellas. También puede acceder a los controles subyacentes de la colección y cambiar sus valores de propiedad mediante programación.

Consulte también

Se aplica a