WebPartCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Contiene una raccolta di WebPart controlli utilizzati per tenere traccia e gestire i gruppi di controlli correlati. Questa 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à
Esempio
Nell'esempio di codice seguente viene illustrato l'utilizzo dell'oggetto WebPartCollection in una pagina web part. In questo esempio sono presenti tre parti:
Codice per la pagina in una classe parziale.
Pagina Web contenente 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 della pagina. Il metodo esegue l'iterazione di tutti i controlli e attiva/disattiva la proprietà di ChromeState ogni controllo, che determina se il 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 standard ASP.NET, 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 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 i set di WebPart controlli.
Un WebPartManager controllo utilizza un WebPartCollection oggetto per mantenere un elenco di tutti i WebPart controlli di una pagina, mentre un WebPartZoneBase controllo utilizza un WebPartCollection oggetto per tenere traccia dei WebPart controlli contenuti.
Annotazioni
L'insieme WebPartCollection 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. 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 saranno inclusi 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 tipate. 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 controlli in una pagina e modificarne l'aspetto WebPart 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
| Nome | Descrizione |
|---|---|
| WebPartCollection() |
Inizializza una nuova istanza vuota della WebPartCollection classe . |
| WebPartCollection(ICollection) |
Inizializza una nuova istanza di un WebPartCollection oggetto passando una ICollection raccolta di WebPart controlli. |
Proprietà
| Nome | Descrizione |
|---|---|
| Count |
Ottiene il numero di elementi contenuti nell'istanza ReadOnlyCollectionBase di . (Ereditato da ReadOnlyCollectionBase) |
| InnerList |
Ottiene l'elenco di elementi contenuti nell'istanza ReadOnlyCollectionBase di . (Ereditato da ReadOnlyCollectionBase) |
| Item[Int32] |
Restituisce un membro dell'insieme in base alla relativa posizione nell'insieme. |
| Item[String] |
Restituisce un membro della raccolta in base a un identificatore di stringa univoco. |
Metodi
| Nome | Descrizione |
|---|---|
| Contains(WebPart) |
Restituisce un valore che indica se un particolare controllo esiste nell'insieme. |
| CopyTo(WebPart[], Int32) |
Copia l'insieme in una matrice di WebPart oggetti . |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetEnumerator() |
Restituisce un enumeratore che scorre l'istanza ReadOnlyCollectionBase di . (Ereditato da ReadOnlyCollectionBase) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IndexOf(WebPart) |
Restituisce la posizione di un determinato membro dell'insieme. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia l'intero ReadOnlyCollectionBase oggetto in un oggetto unidimensionale Arraycompatibile, a partire dall'indice specificato della matrice di destinazione. (Ereditato da ReadOnlyCollectionBase) |
| ICollection.IsSynchronized |
Ottiene un valore che indica se l'accesso a un ReadOnlyCollectionBase oggetto è sincronizzato (thread-safe). (Ereditato da ReadOnlyCollectionBase) |
| ICollection.SyncRoot |
Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso a un ReadOnlyCollectionBase oggetto . (Ereditato da ReadOnlyCollectionBase) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| AsParallel(IEnumerable) |
Abilita la parallelizzazione di una query. |
| AsQueryable(IEnumerable) |
Converte un IEnumerable in un IQueryable. |
| Cast<TResult>(IEnumerable) |
Esegue il cast degli elementi di un IEnumerable al tipo specificato. |
| OfType<TResult>(IEnumerable) |
Filtra gli elementi di un IEnumerable in base a un tipo specificato. |