WebPartCollection Klasse

Definition

Enthält eine Auflistung von WebPart-Steuerelementen, die zum Nachverfolgen und Verwalten verwandter Gruppen von Steuerelementen verwendet wird. Diese Klasse kann nicht vererbt werden.

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
Vererbung
WebPartCollection

Beispiele

Im folgenden Codebeispiel wird die Verwendung des WebPartCollection -Objekts auf einer Webpartseite veranschaulicht. Dieses Beispiel umfasst drei Teile:

  • Der Code für die Seite in einer partiellen Klasse.

  • Die Webseite, die die Steuerelemente enthält.

  • Eine Beschreibung der Funktionsweise des Beispiels in einem Browser.

Der erste Teil des Codebeispiels enthält den Code für die Seite in einer partiellen Klasse. Beachten Sie, dass die Button1_Click -Methode ein WebPartCollection -Objekt erstellt, das aus allen Steuerelementen besteht, auf WebPart die in der WebPartManager.WebParts -Eigenschaft verwiesen wird, die alle WebPart Steuerelemente auf der Seite enthält. Die -Methode durchläuft alle Steuerelemente und schaltet die Eigenschaft jedes Steuerelements ChromeState um, wodurch bestimmt wird, ob dieses Steuerelement normal oder minimiert ist.

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

Der zweite Teil des Codebeispiels ist die Webseite, die die Steuerelemente enthält. Beachten Sie, dass die in WebPartZone1 deklarierten Steuerelemente standardmäßig ASP.NET Serversteuerelemente sind. Da sie jedoch zur Laufzeit als GenericWebPart Steuerelemente umschlossen werden und die GenericWebPart Klasse von der WebPart -Klasse erbt, werden die Steuerelemente zur Laufzeit automatisch als WebPart Steuerelemente behandelt und sind daher im WebPartCollection -Objekt enthalten.

<%@ 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>

Nachdem Sie die Seite in einem Browser geladen und auf die Schaltfläche ChromeState umschalten geklickt haben, durchläuft der Code in der partiellen Klasse das WebPartCollection Objekt und minimiert alternativ die Steuerelemente oder gibt sie zur Normalität zurück. Wenn Sie auch wiederholt auf die Schaltfläche Aufzählungszeichen1 Titel umschalten klicken, wird der Titel des obersten Steuerelements in alternative Werte geändert.

Hinweise

Die WebPartCollection -Klasse ist eine schreibgeschützte Auflistung von Steuerelementen, die in der Regel von Steuerelementen und WebPartManager zum Verwalten von WebPartZoneBaseWebPart Steuerelementsätzen verwendet werden.

Ein WebPartManager Steuerelement verwendet ein WebPartCollection -Objekt, um eine Liste aller WebPart Steuerelemente auf einer Seite zu führen, während ein WebPartZoneBase Steuerelement ein WebPartCollection -Objekt verwendet, um die WebPart enthaltenen Steuerelemente nachzuverfolgen.

Hinweis

Die WebPartCollection Auflistung enthält sowohl Steuerelemente als auch WebPart andere Serversteuerelemente (z. B. Benutzersteuerelemente, benutzerdefinierte Steuerelemente und ASP.NET Steuerelemente), die in WebPartZoneBase Zonen platziert und als Teil von Webpartanwendungen verwendet werden. Wenn Sie also beispielsweise über eine WebPartZone Zone auf einer Seite verfügen und darin ein benutzerdefiniertes WebPart Steuerelement und das ASP.NET-Steuerelement Calendar deklarieren, befinden sich beide Steuerelemente in der WebPartCollection Auflistung, auf die die WebParts -Eigenschaft verweist.

Das WebPartCollection Objekt ist vorhanden, sodass der Webparts-Steuerelementsatz mit stark typisierten Sammlungen arbeiten kann. Wenn Sie Massenvorgänge für einen Satz von Steuerelementen ausführen möchten, können Sie mithilfe der WebPartWebParts -Eigenschaft einen Verweis auf ein WebPartCollection -Objekt abrufen. Beispielsweise können Sie alle WebPart Steuerelemente auf einer Seite durchschleifen und deren Darstellung in irgendeiner Weise ändern. Obwohl das WebPartCollection Objekt schreibgeschützt ist, können Sie programmgesteuerte Änderungen an den Eigenschaften der zugrunde liegenden Steuerelemente vornehmen, auf die in der Auflistung verwiesen wird.

Konstruktoren

WebPartCollection()

Initialisiert eine neue, leere Instanz der WebPartCollection-Klasse.

WebPartCollection(ICollection)

Initialisiert eine neue Instanz eines WebPartCollection-Objekts, indem eine ICollection-Auflistung von WebPart-Steuerelementen übergeben wird.

Eigenschaften

Count

Ruft die Anzahl der in der ReadOnlyCollectionBase-Instanz enthaltenen Elemente ab.

(Geerbt von ReadOnlyCollectionBase)
InnerList

Ruft die Liste der in der ReadOnlyCollectionBase-Instanz enthaltenen Elemente ab.

(Geerbt von ReadOnlyCollectionBase)
Item[Int32]

Gibt auf der Grundlage seiner Position in der Auflistung einen Member der Auflistung zurück.

Item[String]

Gibt auf der Grundlage eines eindeutigen Zeichenfolgenbezeichners einen Member der Auflistung zurück.

Methoden

Contains(WebPart)

Ruft einen Wert ab, der angibt, ob ein bestimmtes Steuerelement in der Auflistung vorhanden ist.

CopyTo(WebPart[], Int32)

Kopiert die Auflistung in ein Array von WebPart-Objekten.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator zurück, der die ReadOnlyCollectionBase durchläuft.

(Geerbt von ReadOnlyCollectionBase)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(WebPart)

Gibt die Position eines bestimmten Members der Auflistung zurück.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Kopiert die gesamte ReadOnlyCollectionBase-Instanz in ein kompatibles eindimensionales Array, beginnend am angegebenen Index des Zielarrays.

(Geerbt von ReadOnlyCollectionBase)
ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf ein ReadOnlyCollectionBase-Objekt synchronisiert (threadsicher) ist.

(Geerbt von ReadOnlyCollectionBase)
ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ein ReadOnlyCollectionBase-Objekt synchronisiert werden kann.

(Geerbt von ReadOnlyCollectionBase)

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für:

Weitere Informationen