Freigeben über


CatalogPartCollection.IndexOf(CatalogPart) Methode

Definition

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

public:
 int IndexOf(System::Web::UI::WebControls::WebParts::CatalogPart ^ catalogPart);
public int IndexOf (System.Web.UI.WebControls.WebParts.CatalogPart catalogPart);
member this.IndexOf : System.Web.UI.WebControls.WebParts.CatalogPart -> int
Public Function IndexOf (catalogPart As CatalogPart) As Integer

Parameter

catalogPart
CatalogPart

Eine CatalogPart, die ein Member der Auflistung ist.

Gibt zurück

Ein CatalogPart-Steuerelement, das ein Member der CatalogPartCollection ist.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie die Position eines Members einer CatalogPartCollection Auflistung mithilfe IndexOf seiner Eigenschaft bestimmen können. 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 neues CatalogPartCollection Objekt mit dem Namen myParts. Die -Methode verwendet die IndexOf -Eigenschaft, um die Position des PageCatalogPart Steuerelements abzurufen, und ändert dann einen Eigenschaftswert für das Steuerelement.

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 

Nachdem Sie die Seite in einem Browser geladen haben, 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. Klicken Sie auf den Link Seitenkatalog , um den Inhalt des PageCatalogPart Steuerelements anzuzeigen. Beachten Sie, dass es nur einen Titel und keinen Rahmen hat, da sein ChromeType Eigenschaftswert in den Code geändert TitleOnly wurde, der die IndexOf -Eigenschaft zum Abrufen des Steuerelements verwendet hat.

Hinweise

Die IndexOf Methode ist nützlich, wenn Sie über mehrere CatalogPart Steuerelemente auf einer Webpartseite verfügen und sie ein bestimmtes Steuerelement in der Auflistung suchen müssen.

Gilt für:

Weitere Informationen