Compartir a través de


CatalogPartCollection.Contains(CatalogPart) Método

Definición

Obtiene un valor que indica si un control determinado existe en la colección.

public:
 bool Contains(System::Web::UI::WebControls::WebParts::CatalogPart ^ catalogPart);
public bool Contains (System.Web.UI.WebControls.WebParts.CatalogPart catalogPart);
member this.Contains : System.Web.UI.WebControls.WebParts.CatalogPart -> bool
Public Function Contains (catalogPart As CatalogPart) As Boolean

Parámetros

catalogPart
CatalogPart

CatalogPart que se comprueba para determinar si pertenece a la colección.

Devoluciones

Valor booleano que indica si un control determinado está en la colección.

Ejemplos

En el ejemplo de código siguiente se muestra cómo se puede determinar si un control determinado CatalogPart es miembro de un CatalogPartCollection objeto . Para obtener el código completo necesario para ejecutar el ejemplo, vea la sección Ejemplo del tema de información general de la CatalogPartCollection clase.

El código del Button1_Click método crea un nuevo CatalogPartCollection objeto denominado myParts. El método usa el Contains método para determinar si el PageCatalogPart1 control existe y, si es así, recupera el control y cambia un valor de propiedad.

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 

Al cargar la página en un explorador, puede cambiar la página al modo de catálogo seleccionando Catálogo en el control de lista desplegable Modo de presentación . Agregue el control personalizado WebPart a la página; para ello, active la casilla situada junto a él y haga clic en Agregar. Haga clic en Cerrar para devolver la página para examinar el modo. En el control que acaba de agregar, si hace clic en el menú verbos (la flecha hacia abajo que aparece en la barra de título) y, a continuación, hace clic en Cerrar, el control se quita de la página y se agrega al PageCatalogPart control. Devuelve la página al modo de catálogo y haz clic en el vínculo Catálogo de páginas para ver el contenido del PageCatalogPart control. Observe que el control que ha cerrado se ha agregado a él. Al hacer clic en el botón Mostrar Propiedades de CatalogPart , se obtiene acceso al CatalogPartCollection objeto y se muestran determinadas propiedades de los controles contenidos CatalogPart . Active la casilla situada junto al control de servidor contenido en el PageCatalogPart control, haga clic en Agregar para volver a agregarlo a la página y, a continuación, haga clic en Cerrar para devolver la página al modo de exploración. Vuelva a hacer clic en el menú de verbos del control y observe que ahora el verbo close se ha ido. Se quitó mediante el código del Button1_Click método , cuando usó el Contains método para buscar PageCatalogPart1y, a continuación, estableció su AllowClose propiedad falseen .

Comentarios

El Contains método permite determinar si un objeto determinado CatalogPart forma parte de un CatalogPartCollection objeto .

Se aplica a

Consulte también