WebPartCollection Classe

Définition

Contient une collection de contrôles WebPart utilisés pour suivre et gérer des groupes de contrôles connexes. Cette classe ne peut pas être héritée.

public ref class WebPartCollection sealed : System::Collections::ReadOnlyCollectionBase
public sealed class WebPartCollection : System.Collections.ReadOnlyCollectionBase
type WebPartCollection = class
    inherit ReadOnlyCollectionBase
Public NotInheritable Class WebPartCollection
Inherits ReadOnlyCollectionBase
Héritage
WebPartCollection

Exemples

L’exemple de code suivant illustre l’utilisation de l’objet WebPartCollection 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 et cliqué sur le bouton Désactiver ChromeState , le code de la classe partielle effectue une boucle 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

La WebPartCollection classe est une collection en lecture seule de contrôles, généralement utilisés par WebPartZoneBase et WebPartManager pour gérer des ensembles de WebPart contrôles.

Un WebPartManager contrôle utilise un WebPartCollection objet pour conserver une liste de tous les WebPart contrôles d’une page, tandis qu’un WebPartZoneBase contrôle utilise un WebPartCollection objet pour suivre les WebPart contrôles qu’il contient.

Notes

La WebPartCollection collection contient à la fois des WebPart contrôles et d’autres contrôles serveur (tels que des contrôles utilisateur, des contrôles personnalisés et des contrôles ASP.NET) qui sont placés dans des zones et utilisés dans WebPartZoneBase le cadre d’applications WebPart. Ainsi, par exemple, si vous avez une WebPartZone zone dans une page et que vous déclarez un contrôle personnalisé WebPart et le contrôle ASP.NET Calendar , les deux contrôles se trouvent dans la WebPartCollection collection référencée par la WebParts propriété .

L’objet WebPartCollection existe afin que le jeu de contrôles De composants WebPart puisse fonctionner avec des collections fortement typées. De même, si vous souhaitez effectuer des opérations de masse sur un ensemble de WebPart contrôles, vous pouvez obtenir une référence à un WebPartCollection objet à l’aide de la WebParts propriété . Par exemple, vous pouvez parcourir en boucle tous les WebPart contrôles d’une page et modifier leur apparence d’une manière ou d’une autre. Même si l’objet WebPartCollection est en lecture seule, vous pouvez apporter des modifications programmatiques aux propriétés des contrôles sous-jacents référencés dans la collection.

Constructeurs

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.

Propriétés

Count

Obtient le nombre d'éléments contenus dans l'instance ReadOnlyCollectionBase.

(Hérité de ReadOnlyCollectionBase)
InnerList

Obtient la liste des éléments contenus dans l’instance de ReadOnlyCollectionBase.

(Hérité de ReadOnlyCollectionBase)
Item[Int32]

Retourne un membre de la collection d'après sa position dans la collection.

Item[String]

Retourne un membre de la collection d'après son identificateur de chaîne unique.

Méthodes

Contains(WebPart)

Retourne une valeur indiquant si un contrôle particulier existe dans la collection.

CopyTo(WebPart[], Int32)

Copie la collection dans un tableau d'objets WebPart.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetEnumerator()

Retourne un énumérateur qui itère au sein de l'instance ReadOnlyCollectionBase.

(Hérité de ReadOnlyCollectionBase)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IndexOf(WebPart)

Retourne la position d'un membre particulier de la collection.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

ICollection.CopyTo(Array, Int32)

Copie l'ensemble de l'objet ReadOnlyCollectionBase vers un objet Array unidimensionnel compatible, en commençant à l'index spécifié du tableau cible.

(Hérité de ReadOnlyCollectionBase)
ICollection.IsSynchronized

Obtient une valeur indiquant si l'accès à un objet ReadOnlyCollectionBase est synchronisé (thread-safe).

(Hérité de ReadOnlyCollectionBase)
ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l'accès à un objet ReadOnlyCollectionBase.

(Hérité de ReadOnlyCollectionBase)

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.

S’applique à

Voir aussi