Freigeben über


CatalogPartCollection Konstruktoren

Definition

Initialisiert eine neue Instanz der CatalogPartCollection-Klasse.

Überlädt

Name Beschreibung
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 vorhandenen CatalogPart Steuerelemente in einer Zone und eine zusätzliche Auflistung von Steuerelementen übergeben wird.

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 ihr 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 CatalogZone Klasse in der CreateCatalogParts Methode verwendet, um ein leeres Auflistungsobjekt zu erstellen. Die Zone erstellt dann Instanzen aller Steuerelemente, die CatalogPart in der Untergeordneten Zonenvorlage deklariert sind, 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 Konstruktors 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

Ein ICollection Steuerelement CatalogPart .

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie einen benutzerdefinierten CatalogPartCollectionVorgang erstellen und einen Batchvorgang ausführen können, um die einzelnen CatalogPart Steuerelemente in der Auflistung zu ändern, auch wenn 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 zum Objekt hinzu und erstellt dann ein neues CatalogPartCollection Objekt mithilfe des CatalogPartCollection Konstruktors. Außerdem wird veranschaulicht, wie Sie Batchänderungen an den zugrunde liegenden CatalogPart Steuerelementen vornehmen können, auch wenn 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 " Katalog " im Dropdownlistensteuerelement " Anzeigemodus " auswählen. Durch Klicken auf die Schaltfläche " Eigenschaften anzeigen" wird auf das CatalogPartCollection Objekt zugegriffen und bestimmte Eigenschaften der enthaltenen CatalogPart Steuerelemente angezeigt. Wenn Sie den Mauszeiger auch über den Titeltext innerhalb des Rahmens des DeclarativeCatalogPart Steuerelements positionieren, können Sie den neuen Beschreibungstext sehen, der dem Steuerelement hinzugefügt wurde, wenn 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 CatalogPart Steuerelementen. Dies ist eine Überladung des Konstruktors, mit der CatalogPartCollection Sie ein neues CatalogPartCollection Objekt erstellen und ihr Steuerelemente hinzufügen CatalogPart können.

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

Ein häufiges Szenario für die Verwendung dieses Konstruktors wäre, wenn Sie einen Batchvorgang für einen ganzen 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 vorhandenen CatalogPart Steuerelemente in einer Zone und eine zusätzliche Auflistung von Steuerelementen übergeben wird.

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 der vorhandenen CatalogPart Steuerelemente in einer Zone.

catalogParts
ICollection

Eine ICollection von zusätzlichen CatalogPart Steuerelementen.

Weitere Informationen

Gilt für: