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 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à
Esempio
Nell'esempio di codice seguente viene illustrato l'uso 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 nella pagina. Il metodo esegue l'iterazione di tutti i controlli e attiva la proprietà di ChromeState ogni controllo, che determina se tale controllo è normale o ridotto al minimo.
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 sono 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 fare clic sul pulsante Toggle ChromeState , il codice nella classe parziale scorre l'oggetto WebPartCollection e riduce in alternativa i controlli o li restituisce alla normale. In alternativa, se si fa ripetutamente clic sul pulsante Toggle BulletedList1 Title , il titolo del controllo superiore viene modificato in valori alternativi.
Commenti
La WebPartCollection classe è una raccolta di controlli di sola lettura, in genere usata da WebPartZoneBase e WebPartManager controlli per gestire set di WebPart controlli.
Un WebPartManager controllo usa un oggetto per mantenere un elenco di tutti i controlli in una pagina, mentre un WebPartZoneBase controllo usa un WebPartCollectionWebPartCollection oggetto per tenere traccia dei WebPartWebPart 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 usati come parte delle applicazioni Web part. Ad esempio, se si dispone di una zona in una pagina e, all'interno, si dichiara un WebPartZone controllo personalizzato WebPart e il controllo ASP.NET Calendar , entrambi i controlli si trovano nella WebPartCollection raccolta 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 tipizzata. 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, è possibile eseguire il ciclo di tutti i WebPart controlli in una pagina e modificare 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. |