WebPartCollection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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. |