CatalogPartCollection.IndexOf(CatalogPart) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca pozycję określonego elementu członkowskiego kolekcji.
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
Parametry
- catalogPart
- CatalogPart
Element CatalogPart będący elementem członkowskim kolekcji.
Zwraca
Element CatalogPart będący członkiem obiektu CatalogPartCollection.
Przykłady
W poniższym przykładzie kodu pokazano, jak można określić pozycję elementu członkowskiego CatalogPartCollection kolekcji przy użyciu jej IndexOf właściwości. Pełny kod wymagany do uruchomienia przykładu można znaleźć w sekcji Przykład w CatalogPartCollection temacie Omówienie klasy.
Kod w metodzie Button1_Click
tworzy nowy CatalogPartCollection obiekt o nazwie myParts
. Metoda używa IndexOf właściwości , aby pobrać pozycję kontrolki PageCatalogPart , a następnie zmienia wartość właściwości w kontrolce.
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
Po załadowaniu strony w przeglądarce możesz przełączyć stronę do trybu wykazu, wybierając pozycję Wykaz w kontrolce listy rozwijanej Tryb wyświetlania . Kliknięcie przycisku Wyświetl właściwości elementu CatalogPart powoduje CatalogPartCollection uzyskanie dostępu do obiektu i wyświetlenie niektórych właściwości zawartych CatalogPart kontrolek. Kliknij link Wykaz stron , aby wyświetlić zawartość kontrolki PageCatalogPart . Należy pamiętać, że ma tylko tytuł i bez obramowania, ponieważ jego ChromeType wartość właściwości została zmieniona na TitleOnly w kodzie, który użył IndexOf właściwości do pobrania kontrolki.
Uwagi
Metoda jest przydatna IndexOf , jeśli masz wiele CatalogPart kontrolek na stronie składników Web Part i musisz zlokalizować konkretną kontrolkę w kolekcji.