Freigeben über


CatalogPartCollection Konstruktoren

Definition

Initialisiert eine neue Instanz der CatalogPartCollection-Klasse.

Überlädt

CatalogPartCollection()

Initialisiert eine neue leere Instanz der CatalogPartCollection-Klasse.

CatalogPartCollection(ICollection)

Initialisiert eine neue Instanz der CatalogPartCollection-Klasse, indem eine ICollection-Auflistung von CatalogPart-Steuerelementen übergeben wird.

CatalogPartCollection(CatalogPartCollection, ICollection)

Initialisiert eine neue Instanz der CatalogPartCollection-Klasse, indem eine ICollection-Auflistung der in einer Zone vorhandenen CatalogPart-Steuerelemente sowie eine zusätzliche Auflistung von Steuerelementen übergeben werden.

Hinweise

Die CatalogZoneBase Zone, die Steuerelemente enthältCatalogPart, ist in der Regel das Steuerelement, das über die CreateCatalogParts -Methode ein CatalogPartCollection -Objekt erstellt. Sie können jedoch auch ein eigenes CatalogPartCollection Objekt für andere programmgesteuerte Zwecke erstellen.

CatalogPartCollection()

Initialisiert eine neue leere Instanz der CatalogPartCollection-Klasse.

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

Hinweise

Der CatalogPartCollection Konstruktor initialisiert eine leere Instanz der CatalogPartCollection -Klasse. Diese Überladung des Konstruktors wird intern von der -Klasse in ihrer CatalogZoneCreateCatalogParts -Methode verwendet, um ein leeres Auflistungsobjekt zu erstellen. Die Zone erstellt dann Instanzen aller In der CatalogPart untergeordneten Zonenvorlage deklarierten Steuerelemente und verwendet eine interne Methode der Auflistung, um sie hinzuzufügen.

Sie können diese Überladung des CatalogPartCollection Konstruktors nicht verwenden, um eine neue Instanz eines CatalogPartCollection zu erstellen und ihr Steuerelemente hinzuzufügen CatalogPart . Sie müssen stattdessen eine der anderen Überladungen für den CatalogPartCollection Konstruktor verwenden.

Weitere Informationen

Gilt für:

CatalogPartCollection(ICollection)

Initialisiert eine neue Instanz der CatalogPartCollection-Klasse, indem eine ICollection-Auflistung von CatalogPart-Steuerelementen übergeben wird.

public:
 CatalogPartCollection(System::Collections::ICollection ^ catalogParts);
public CatalogPartCollection (System.Collections.ICollection catalogParts);
new System.Web.UI.WebControls.WebParts.CatalogPartCollection : System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.CatalogPartCollection
Public Sub New (catalogParts As ICollection)

Parameter

catalogParts
ICollection

Eine ICollection von CatalogPart-Steuerelementen.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie einen benutzerdefinierten CatalogPartCollectionerstellen und einen Batchvorgang ausführen können, um die einzelnen CatalogPart Steuerelemente in der Auflistung zu ändern, obwohl sie schreibgeschützt ist. Den vollständigen Code, der zum Ausführen des Beispiels erforderlich ist, finden Sie im Abschnitt Beispiel des CatalogPartCollection Themas Klassenübersicht.

Der Code in der Button1_Click -Methode erstellt ein ArrayList -Objekt, fügt die beiden CatalogPart Steuerelemente auf der Seite dem -Objekt hinzu und erstellt dann mithilfe des CatalogPartCollection Konstruktors ein neues CatalogPartCollection Objekt. Außerdem wird veranschaulicht, wie Sie Batchänderungen an den zugrunde liegenden CatalogPart Steuerelementen vornehmen können, obwohl die Sammlung selbst schreibgeschützt ist. Der Code durchläuft die Auflistung und aktualisiert die Description Eigenschaft jedes Steuerelements.

protected void Button1_Click(object sender, EventArgs e)
{
  ArrayList list = new ArrayList(2);
  list.Add(PageCatalogPart1);
  list.Add(DeclarativeCatalogPart1);
  // Pass an ICollection object to the constructor.
  CatalogPartCollection myParts = new CatalogPartCollection(list);
  foreach (CatalogPart catalog in myParts)
  {
    catalog.Description = "My " + catalog.DisplayTitle;
  }

  // Use the IndexOf property to locate a CatalogPart control.
  int PageCatalogPartIndex = myParts.IndexOf(PageCatalogPart1);
  myParts[PageCatalogPartIndex].ChromeType = PartChromeType.TitleOnly;

  // Use the Contains method to see if a CatalogPart control exists.
  if (myParts.Contains(PageCatalogPart1))
  {
    WebPart closedWebPart = null;
    WebPartDescriptionCollection descriptions = PageCatalogPart1.GetAvailableWebPartDescriptions();
    if (descriptions.Count > 0)
    {
      closedWebPart = PageCatalogPart1.GetWebPart(descriptions[0]);
      closedWebPart.AllowClose = false;
    }
  }
  
  // Use indexers to display the details of the CatalogPart controls.
  Label1.Text = String.Empty;
  Label1.Text =
    "<h3>PageCatalogPart Details</h3>" +
    "ID: " + myParts[0].ID + "<br />" +
    "Count: " + myParts[0].GetAvailableWebPartDescriptions().Count;
  Label1.Text += 
    "<h3>DeclarativeCatalogPart Details</h3>" +
    "ID: " + myParts["DeclarativeCatalogPart1"].ID + "<br />" +
    "Count: " + myParts["DeclarativeCatalogPart1"].GetAvailableWebPartDescriptions().Count;
}
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) 
    Dim list As New ArrayList(2)
    list.Add(PageCatalogPart1)
    list.Add(DeclarativeCatalogPart1)
    ' Pass an ICollection object to the constructor.
    Dim myParts As New CatalogPartCollection(list)
    Dim catalog As CatalogPart
    For Each catalog In  myParts
        catalog.Description = "My " + catalog.DisplayTitle
    Next catalog
    
    ' Use the IndexOf property to locate a CatalogPart control.
    Dim PageCatalogPartIndex As Integer = _
      myParts.IndexOf(PageCatalogPart1)
    myParts(PageCatalogPartIndex).ChromeType = PartChromeType.TitleOnly
    
    ' Use the Contains method to see if a CatalogPart control exists.
    If myParts.Contains(PageCatalogPart1) Then
        Dim closedWebPart As WebPart = Nothing
        Dim descriptions As WebPartDescriptionCollection = _
          PageCatalogPart1.GetAvailableWebPartDescriptions()
        If descriptions.Count > 0 Then
            closedWebPart = PageCatalogPart1.GetWebPart(descriptions(0))
            closedWebPart.AllowClose = False
        End If
    End If
    
    ' Use indexers to display the details of the CatalogPart controls.
    Label1.Text = String.Empty
    Label1.Text = _
      "<h3>PageCatalogPart Details</h3>" & _
      "ID: " & myParts(0).ID + "<br />" & _
      "Count: " & myParts(0).GetAvailableWebPartDescriptions().Count
    Label1.Text += _
      "<h3>DeclarativeCatalogPart Details</h3>" & _
      "ID: " & myParts("DeclarativeCatalogPart1").ID & "<br />" & _
      "Count: " & myParts("DeclarativeCatalogPart1") _
        .GetAvailableWebPartDescriptions().Count

End Sub 

Wenn Sie die Seite in einem Browser laden, können Sie die Seite in den Katalogmodus wechseln, indem Sie im Dropdownlistensteuerelement Anzeigemodus die Option Katalog auswählen. Wenn Sie auf die Schaltfläche Katalogeigenschaften anzeigen klicken, wird auf das CatalogPartCollection Objekt zugegriffen und bestimmte Eigenschaften der enthaltenen CatalogPart Steuerelemente angezeigt. Wenn Sie außerdem den Mauszeiger über dem Titeltext innerhalb des Rahmens des DeclarativeCatalogPart Steuerelements positionieren, sehen Sie den neuen Beschreibungstext, der dem Steuerelement hinzugefügt wurde, als Sie auf die Schaltfläche geklickt haben (die Beschreibung wird in einer QuickInfo angezeigt). Wenn Sie auf den Link Seitenkatalog klicken, um das PageCatalogPart Steuerelement anzuzeigen, werden Sie feststellen, dass es auch eine aktualisierte Beschreibung enthält.

Hinweise

Der CatalogPartCollection Konstruktor initialisiert eine Instanz der CatalogPartCollection -Klasse und übergibt eine Auflistung von Steuerelementen CatalogPart . Dies ist eine Überladung des Konstruktors, mit dem CatalogPartCollection Sie ein neues CatalogPartCollection Objekt erstellen und diesem Steuerelemente hinzufügen CatalogPart können.

Obwohl die CatalogPartCollection vom Konstruktor erstellte Instanz schreibgeschützt ist, können Sie dennoch programmgesteuert auf die einzelnen CatalogPart Steuerelemente in der Auflistung zugreifen und deren Eigenschaften und Methoden aufrufen.

Ein gängiges Szenario für die Verwendung dieses Konstruktors ist, wenn Sie einen Batchvorgang für einen gesamten Satz von CatalogPart Steuerelementen ausführen möchten, z. B. das Ändern des Inhalts, der Darstellung oder der Position einer verwandten Gruppe von Elementen.

Weitere Informationen

Gilt für:

CatalogPartCollection(CatalogPartCollection, ICollection)

Initialisiert eine neue Instanz der CatalogPartCollection-Klasse, indem eine ICollection-Auflistung der in einer Zone vorhandenen CatalogPart-Steuerelemente sowie eine zusätzliche Auflistung von Steuerelementen übergeben werden.

public:
 CatalogPartCollection(System::Web::UI::WebControls::WebParts::CatalogPartCollection ^ existingCatalogParts, System::Collections::ICollection ^ catalogParts);
public CatalogPartCollection (System.Web.UI.WebControls.WebParts.CatalogPartCollection existingCatalogParts, System.Collections.ICollection catalogParts);
new System.Web.UI.WebControls.WebParts.CatalogPartCollection : System.Web.UI.WebControls.WebParts.CatalogPartCollection * System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.CatalogPartCollection
Public Sub New (existingCatalogParts As CatalogPartCollection, catalogParts As ICollection)

Parameter

existingCatalogParts
CatalogPartCollection

Eine ICollection vorhandener CatalogPart-Steuerelemente in einer Zone.

catalogParts
ICollection

Eine ICollection von zusätzlichen CatalogPart-Steuerelementen.

Weitere Informationen

Gilt für: