WebPartCollection Classe

Definizione

Contiene un insieme di controlli WebPart utilizzati per tenere traccia e gestire gruppi di controlli correlati.Contains a collection of WebPart controls used to track and manage related groups of controls. Questa classe non può essere ereditata.This class cannot be inherited.

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

Esempi

Nell'esempio di codice riportato di seguito viene illustrato WebPartCollection l'utilizzo dell'oggetto in una pagina Web part.The following code example demonstrates the use of the WebPartCollection object on a Web Parts page. Questo esempio è costituito da tre parti:This example has three parts:

  • Codice per la pagina in una classe parziale.The code for the page in a partial class.

  • Pagina Web contenente i controlli.The Web page that contains the controls.

  • Descrizione del funzionamento dell'esempio in un browser.A description of how the example works in a browser.

La prima parte dell'esempio di codice contiene il codice per la pagina in una classe parziale.The first part of the code example contains the code for the page in a partial class. Si noti che Button1_Click il metodo crea WebPartCollection un oggetto costituito da tutti WebPart i controlli a cui viene WebPartManager.WebParts fatto riferimento nella proprietà, che WebPart include tutti i controlli nella pagina.Note that the Button1_Click method creates a WebPartCollection object that consists of all the WebPart controls referenced in the WebPartManager.WebParts property, which includes all the WebPart controls on the page. Il metodo scorre tutti i controlli e/o la proprietà di ChromeState ogni controllo, che determina se il controllo è normale o ridotto a icona.The method iterates through all the controls, and toggles each control's ChromeState property, which determines whether that control is normal or minimized.

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.The second part of the code example is the Web page that contains the controls. Si noti WebPartZone1 che i controlli dichiarati in sono controlli server ASP.NET standard, ma poiché vengono incapsulati come GenericWebPart controlli in fase GenericWebPart di esecuzione e WebPart la classe eredita dalla classe, i controlli vengono automaticamente considerati come WebPart controlli in fase di esecuzione e quindi inclusi WebPartCollection nell'oggetto.Notice that the controls declared in WebPartZone1 are standard ASP.NET server controls, but because they are wrapped as GenericWebPart controls at run time, and the GenericWebPart class inherits from the WebPart class, the controls are automatically treated as WebPart controls at run time and therefore are included in the WebPartCollection object.

<%@ 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>

Al termine del caricamento della pagina in un browser e facendo clic sul pulsante Attiva/Nascondi ChromeState , il codice della classe parziale scorre WebPartCollection l'oggetto e, in alternativa, riduce a icona i controlli oppure li restituisce al normale.After you load the page in a browser and click the Toggle ChromeState button, the code in the partial class loops through the WebPartCollection object and alternately minimizes the controls or returns them to normal. In alternativa, se si fa ripetutamente clic sul pulsante Imposta/Rimuovi titolo BulletedList1 , il titolo del controllo in alto viene modificato in valori alternativi.Or, if you repeatedly click the Toggle BulletedList1 Title button, the title of the uppermost control is changed to alternate values.

Commenti

La WebPartCollection classe è una raccolta di sola lettura di controlli, in genere utilizzata WebPartZoneBase dai WebPartManager controlli e per gestire set WebPart di controlli.The WebPartCollection class is a read-only collection of controls, typically used by WebPartZoneBase and WebPartManager controls to manage sets of WebPart controls.

Un WebPartManager controllo Usa un WebPartCollection oggetto per tenere un elenco di tutti i WebPart controlli in una pagina, mentre un WebPartZoneBase controllo Usa un WebPartCollection oggetto per tenere traccia WebPart dei controlli in essa contenuti.A WebPartManager control uses a WebPartCollection object to keep a list of all the WebPart controls on a page, whereas a WebPartZoneBase control uses a WebPartCollection object to track the WebPart controls that it contains.

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 usati come parte delle applicazioni Web part.The WebPartCollection collection contains both WebPart controls and other server controls (such as user controls, custom controls, and ASP.NET controls) that are placed in WebPartZoneBase zones and used as part of Web Parts applications. Se, ad esempio, si dispone di una WebPartZone zona in una pagina e al suo interno si dichiara un controllo WebPart personalizzato e il controllo Calendar ASP.NET, entrambi i WebPartCollection controlli si troveranno nella raccolta a cui fa riferimento WebParts la proprietà.So, for example, if you have a WebPartZone zone in a page, and within it you declare a custom WebPart control and the ASP.NET Calendar control, both controls will be in the WebPartCollection collection referenced by the WebParts property.

L' WebPartCollection oggetto esiste, in modo che il set di controllo Web part possa funzionare con raccolte fortemente tipizzate.The WebPartCollection object exists so that the Web Parts control set can work with strongly typed collections. Analogamente, se si desidera eseguire operazioni di massa su un set WebPart di controlli, è possibile ottenere un riferimento a WebPartCollection un oggetto utilizzando WebParts la proprietà.Similarly, if you want to perform mass operations on a set of WebPart controls, you can get a reference to a WebPartCollection object using the WebParts property. Ad esempio, è possibile eseguire il ciclo di tutti i WebPart controlli in una pagina e modificarne l'aspetto in qualche modo.For example, you might want to loop through all the WebPart controls on a page and change their appearance in some way. Anche se l' WebPartCollection oggetto è di sola lettura, è possibile apportare modifiche a livello di codice alle proprietà dei controlli sottostanti a cui viene fatto riferimento nella raccolta.Even though the WebPartCollection object is read-only, you can make programmatic changes to the properties of the underlying controls referenced in the collection.

Costruttori

WebPartCollection()

Inizializza una nuova istanza vuota della classe WebPartCollection.Initializes an empty new instance of the WebPartCollection class.

WebPartCollection(ICollection)

Inizializza una nuova istanza di un oggetto WebPartCollection passando in un insieme ICollection di controlli WebPart.Initializes a new instance of a WebPartCollection object by passing in an ICollection collection of WebPart controls.

Proprietà

Count

Ottiene il numero di elementi contenuti nell'istanza di ReadOnlyCollectionBase.Gets the number of elements contained in the ReadOnlyCollectionBase instance.

(Ereditato da ReadOnlyCollectionBase)
InnerList

Ottiene l'elenco degli elementi contenuti nell'istanza di ReadOnlyCollectionBase.Gets the list of elements contained in the ReadOnlyCollectionBase instance.

(Ereditato da ReadOnlyCollectionBase)
Item[Int32]

Restituisce un membro dell'insieme in base alla relativa posizione nell'insieme.Returns a member of the collection based on its position in the collection.

Item[String]

Restituisce un membro dell'insieme in base a un identificatore di stringa univoco.Returns a member of the collection based on a unique string identifier.

Metodi

Contains(WebPart)

Restituisce un valore che indica la presenza di un particolare controllo nell'insieme.Returns a value indicating whether a particular control exists in the collection.

CopyTo(WebPart[], Int32)

Copia l'insieme in una matrice di oggetti WebPart.Copies the collection to an array of WebPart objects.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore per lo scorrimento dell'istanza di ReadOnlyCollectionBase.Returns an enumerator that iterates through the ReadOnlyCollectionBase instance.

(Ereditato da ReadOnlyCollectionBase)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IndexOf(WebPart)

Restituisce la posizione di un membro specifico dell'insieme.Returns the position of a particular member of the collection.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(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.Copies the entire ReadOnlyCollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array.

(Ereditato da ReadOnlyCollectionBase)
ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso a un oggetto ReadOnlyCollectionBase è sincronizzato (thread-safe).Gets a value indicating whether access to a ReadOnlyCollectionBase object is synchronized (thread safe).

(Ereditato da ReadOnlyCollectionBase)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso all'oggetto ReadOnlyCollectionBase.Gets an object that can be used to synchronize access to a ReadOnlyCollectionBase object.

(Ereditato da ReadOnlyCollectionBase)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Vedi anche