WebPartCollection Classe

Definizione

Contiene una raccolta di controlli WebPart usati per gestire gruppi di controlli correlati e tenerne traccia. La classe non può essere ereditata.

public ref class WebPartCollection sealed : System::Collections::ReadOnlyCollectionBase
public sealed class WebPartCollection : System.Collections.ReadOnlyCollectionBase
type WebPartCollection = class
    inherit ReadOnlyCollectionBase
Public NotInheritable Class WebPartCollection
Inherits ReadOnlyCollectionBase
Ereditarietà
WebPartCollection

Esempio

Nell'esempio di codice seguente viene illustrato l'uso dell'oggetto WebPartCollection in una pagina Web part. Questo esempio include tre parti:

  • Codice per la pagina in una classe parziale.

  • Pagina Web che contiene i controlli.

  • Descrizione del funzionamento dell'esempio in un browser.

La prima parte dell'esempio di codice contiene il codice per la pagina in una classe parziale. Si noti che il Button1_Click metodo crea un WebPartCollection oggetto costituito da tutti i WebPart controlli a cui si fa riferimento nella WebPartManager.WebParts proprietà , che include tutti i WebPart controlli nella pagina. Il metodo esegue l'iterazione di tutti i controlli e attiva o disattiva la proprietà di ChromeState ogni controllo, che determina se tale controllo è normale o ridotto a icona.

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class webpartcollectioncs : System.Web.UI.Page
{
  protected void Button1_Click(object sender, EventArgs e)
  {

    WebPartCollection partCollection = mgr1.WebParts;

    foreach (WebPart part in partCollection)
    {
      if (part.ChromeState != PartChromeState.Minimized)
        part.ChromeState = PartChromeState.Minimized;
      else
        part.ChromeState = PartChromeState.Normal;
    }
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
    WebPartCollection partCollection = WebPartZone1.WebParts;

    if (partCollection[0].Title == "My Link List")
      partCollection[0].Title = "Favorite Links";
    else
      partCollection[0].Title = "My Link List";
  }
}
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Partial Public Class webpartcollectionvb

  Inherits System.Web.UI.Page

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim partCollection As WebPartCollection = mgr1.WebParts
    Dim part As WebPart

    For Each part In partCollection
      If part.ChromeState <> PartChromeState.Minimized Then
        part.ChromeState = PartChromeState.Minimized
      Else
        part.ChromeState = PartChromeState.Normal
      End If
    Next

  End Sub

  Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim partCollection As WebPartCollection = WebPartZone1.WebParts

    If partCollection(0).Title = "My Link List" Then
      partCollection(0).Title = "Favorite Links"
    Else
      partCollection(0).Title = "My Link List"
    End If

  End Sub

End Class

La seconda parte dell'esempio di codice è la pagina Web che contiene i controlli. Si noti che i controlli dichiarati in WebPartZone1 sono controlli server ASP.NET standard, ma poiché vengono sottoposti a wrapping come GenericWebPart controlli in fase di esecuzione e la GenericWebPart classe eredita dalla WebPart classe , i controlli vengono considerati automaticamente come WebPart controlli in fase di esecuzione e pertanto vengono inclusi nell'oggetto WebPartCollection .

<%@ Page Language="C#" 
  Codefile="webpartcollection.cs" 
  Inherits="webpartcollectioncs" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
          <br />
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
    </div>
    <hr />
    <asp:Button ID="Button1" runat="server" Width="200"
      Text="Toggle ChromeState" OnClick="Button1_Click" />
    <br />
    <asp:Button ID="Button2" runat="server" Width="200"
        Text="Toggle BulletedList1 Title" 
        OnClick="Button2_Click"/>
    </form>
</body>
</html>
<%@ Page Language="vb"
  Codefile="webpartcollection.vb" 
  Inherits="webpartcollectionvb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
          <br />
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
    </div>
    <hr />
    <asp:Button ID="Button1" runat="server" Width="200"
      Text="Toggle ChromeState" OnClick="Button1_Click" />
    <br />
    <asp:Button ID="Button2" runat="server" Width="200"
        Text="Toggle BulletedList1 Title" 
        OnClick="Button2_Click"/>
    </form>
</body>
</html>

Dopo aver caricato la pagina in un browser e aver fatto clic sul pulsante Toggle ChromeState , il codice nella classe parziale scorre l'oggetto WebPartCollection e riduce al minimo i controlli o li restituisce al normale. In alternativa, se si fa ripetutamente clic sul pulsante Toggle BulletedList1 Title (Titolo bulletedList1 ), il titolo del controllo superiore viene modificato in valori alternativi.

Commenti

La WebPartCollection classe è una raccolta di sola lettura di controlli, in genere utilizzata dai WebPartZoneBase controlli e WebPartManager per gestire set di WebPart controlli.

Un WebPartManager controllo utilizza un WebPartCollection oggetto per mantenere un elenco di tutti i WebPart controlli in una pagina, mentre un WebPartZoneBase controllo utilizza un WebPartCollection oggetto per tenere traccia dei WebPart controlli contenuti.

Nota

La WebPartCollection raccolta contiene sia WebPart controlli che altri controlli server (ad esempio controlli utente, controlli personalizzati e controlli ASP.NET) posizionati in WebPartZoneBase zone e utilizzati come parte delle applicazioni Web part. Ad esempio, se si dispone di una WebPartZone zona in una pagina e al suo interno si dichiara un controllo personalizzato WebPart e il controllo ASP.NET Calendar , entrambi i controlli si troveranno nell'insieme WebPartCollection a cui fa riferimento la WebParts proprietà .

L'oggetto WebPartCollection esiste in modo che il set di controlli Web part possa funzionare con raccolte fortemente tipizzate. Analogamente, se si desidera eseguire operazioni di massa su un set di WebPart controlli, è possibile ottenere un riferimento a un WebPartCollection oggetto usando la WebParts proprietà . Ad esempio, potrebbe essere necessario scorrere tutti i WebPart controlli in una pagina e modificarne l'aspetto in qualche modo. Anche se l'oggetto WebPartCollection è di sola lettura, è possibile apportare modifiche a livello di codice alle proprietà dei controlli sottostanti a cui si fa riferimento nell'insieme.

Costruttori

WebPartCollection()

Inizializza una nuova istanza vuota della classe WebPartCollection.

WebPartCollection(ICollection)

Inizializza una nuova istanza di un oggetto WebPartCollection passando in un insieme ICollection di controlli WebPart.

Proprietà

Count

Ottiene il numero di elementi contenuti nell'istanza di ReadOnlyCollectionBase.

(Ereditato da ReadOnlyCollectionBase)
InnerList

Ottiene l'elenco degli elementi contenuti nell'istanza di ReadOnlyCollectionBase.

(Ereditato da ReadOnlyCollectionBase)
Item[Int32]

Restituisce un membro dell'insieme in base alla relativa posizione nell'insieme.

Item[String]

Restituisce un membro dell'insieme in base a un identificatore di stringa univoco.

Metodi

Contains(WebPart)

Restituisce un valore che indica la presenza di un particolare controllo nell'insieme.

CopyTo(WebPart[], Int32)

Copia l'insieme in una matrice di oggetti WebPart.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore per lo scorrimento dell'istanza di ReadOnlyCollectionBase.

(Ereditato da ReadOnlyCollectionBase)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(WebPart)

Restituisce la posizione di un membro specifico dell'insieme.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia l'intero oggetto ReadOnlyCollectionBase in un oggetto Array compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.

(Ereditato da ReadOnlyCollectionBase)
ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso a un oggetto ReadOnlyCollectionBase è sincronizzato (thread-safe).

(Ereditato da ReadOnlyCollectionBase)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso all'oggetto ReadOnlyCollectionBase.

(Ereditato da ReadOnlyCollectionBase)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche