Partage via


WebPartCollection Constructeurs

Définition

Initialise une nouvelle instance de la classe WebPartCollection.

Surcharges

WebPartCollection()

Initialise une nouvelle instance vide de la classe WebPartCollection.

WebPartCollection(ICollection)

Initialise une nouvelle instance d'un objet WebPartCollection en passant dans une collection ICollection de contrôles WebPart.

WebPartCollection()

Initialise une nouvelle instance vide de la classe WebPartCollection.

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

Remarques

Le WebPartCollection constructeur initialise une instance vide de la WebPartCollection classe. L’objet lui-même est en lecture seule et n’a aucune méthode pour lui ajouter des contrôles individuels WebPart ; par conséquent, vous aurez peu d’occasion d’utiliser ce constructeur.

Voir aussi

S’applique à

WebPartCollection(ICollection)

Initialise une nouvelle instance d'un objet WebPartCollection en passant dans une collection ICollection de contrôles 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)

Paramètres

webParts
ICollection

ICollection de contrôles WebPart.

Exceptions

webParts a la valeur null.

Un objet dans la collection webParts est null.

- ou -

Un objet dans la collection webParts n'est pas de type WebPart.

Exemples

L’exemple de code suivant illustre l’utilisation du WebPartCollection constructeur sur une page de composants WebPart. Cet exemple comporte trois parties :

  • Code de la page dans une classe partielle.

  • Page Web qui contient les contrôles.

  • Description du fonctionnement de l’exemple dans un navigateur.

La première partie de l’exemple de code contient le code de la page dans une classe partielle. Notez que la Button1_Click méthode crée un WebPartCollection objet qui se compose de tous les WebPart contrôles référencés dans la WebPartManager.WebParts propriété, qui inclut tous les WebPart contrôles de la page. La méthode effectue une itération dans tous les contrôles et bascule la propriété de ChromeState chaque contrôle, ce qui détermine si ce contrôle est normal ou réduit.

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 deuxième partie de l’exemple de code est la page Web qui contient les contrôles. Notez que les contrôles déclarés dans WebPartZone1 sont des contrôles serveur standard ASP.NET, mais comme ils sont encapsulés en tant que contrôles au moment de l’exécution et que GenericWebPart la GenericWebPart classe hérite de la WebPart classe, les contrôles sont automatiquement traités comme WebPart des contrôles au moment de l’exécution et sont donc inclus dans l’objet 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>

Après avoir chargé la page dans un navigateur, cliquez sur le bouton Activer ChromeState et notez que le code de la classe partielle effectue des boucles dans l’objet WebPartCollection et réduit les contrôles ou les retourne à la normale. Ou, si vous cliquez à plusieurs reprises sur le bouton Désactiver BulletedList1 Title , le titre du contrôle supérieur est remplacé par d’autres valeurs.

Remarques

Le WebPartCollection constructeur initialise une instance de la WebPartCollection classe en transmettant une collection de WebPart contrôles.

Bien qu’un WebPartCollection objet soit en lecture seule et qu’il n’existe aucune méthode permettant d’y ajouter des contrôles individuels, vous pouvez créer votre propre ICollection collection de contrôles et le transmettre au WebPartCollection constructeur. Cela vous permet de créer des collections personnalisées et d’effectuer des opérations en bloc sur celles-ci. Vous pouvez également accéder aux contrôles sous-jacents de la collection et modifier leurs valeurs de propriété par programmation.

Voir aussi

S’applique à