CatalogPartCollection.IndexOf(CatalogPart) Methode

Definitie

Retourneert de positie van een bepaald lid van de verzameling.

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

Parameters

catalogPart
CatalogPart

Een CatalogPart die lid is van de verzameling.

Retouren

Een CatalogPart die lid is van de CatalogPartCollection.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de positie van een lid van een CatalogPartCollection verzameling kunt bepalen met behulp van IndexOf de bijbehorende methode. Zie de sectie Voorbeeld van het CatalogPartCollection onderwerp Class Overview voor de volledige code die is vereist om het voorbeeld uit te voeren.

Met de code in de methode wordt een nieuw CatalogPartCollection object gemaakt met de Button1_Click naam myParts. De methode gebruikt de IndexOf methode om de positie van het PageCatalogPart besturingselement op te halen en wijzigt vervolgens een eigenschapswaarde in het besturingselement.

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 

Nadat u de pagina in een browser hebt geladen, kunt u de pagina overschakelen naar de catalogusmodus door Catalogus te selecteren in de vervolgkeuzelijst Weergavemodus . Als u op de knop Eigenschappen van CatalogPart weergeven klikt, wordt het CatalogPartCollection object geopend en worden bepaalde eigenschappen van de ingesloten CatalogPart besturingselementen weergegeven. Klik op de koppeling Paginacatalogus om de inhoud van het PageCatalogPart besturingselement weer te geven. Houd er rekening mee dat het alleen een titel en geen rand heeft, omdat ChromeType de eigenschapswaarde is gewijzigd TitleOnly in de code die de IndexOf methode heeft gebruikt om het besturingselement op te halen.

Opmerkingen

De IndexOf methode is handig als u meerdere CatalogPart besturingselementen op een pagina met webonderdelen hebt en u een bepaald besturingselement in de verzameling moet zoeken.

Van toepassing op

Zie ook