WebPartCollection Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zawiera kolekcję kontrolek używanych WebPart do śledzenia powiązanych grup kontrolek i zarządzania nimi. Klasa ta nie może być dziedziczona.
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
- Dziedziczenie
Przykłady
W poniższym przykładzie kodu pokazano użycie obiektu na stronie składników WebPartCollection Web Part. Ten przykład ma trzy części:
Kod strony w klasie częściowej.
Strona sieci Web zawierająca kontrolki.
Opis działania przykładu w przeglądarce.
Pierwsza część przykładu kodu zawiera kod strony w klasie częściowej. Należy pamiętać, że Button1_Click
metoda tworzy WebPartCollection obiekt, który składa się ze wszystkich WebPart kontrolek, do których odwołuje się WebPartManager.WebParts właściwość , która zawiera wszystkie kontrolki WebPart na stronie. Metoda iteruje wszystkie kontrolki i przełącza właściwość każdej kontrolki ChromeState , która określa, czy ta kontrolka jest normalna, czy zminimalizowana.
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
Drugą częścią przykładu kodu jest strona internetowa zawierająca kontrolki. Zwróć uwagę, że zadeklarowane WebPartZone1
w klasie kontrolki są standardowymi ASP.NET kontrolkami serwera, ale ponieważ są one opakowane jako GenericWebPart kontrolki w czasie wykonywania, a GenericWebPart klasa dziedziczy z WebPart klasy, kontrolki są automatycznie traktowane jako WebPart kontrolki w czasie wykonywania i dlatego są uwzględniane w WebPartCollection obiekcie.
<%@ 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>
Po załadowaniu strony w przeglądarce i kliknięciu przycisku Przełącz element ChromeState kod w pętli częściowej klasy przechodzi przez WebPartCollection obiekt i na przemian minimalizuje kontrolki lub zwraca je do normy. Lub, jeśli wielokrotnie klikasz przycisk Przełącz punktowanąlistę1 Tytuł , tytuł najbardziej górnej kontrolki zostanie zmieniony na wartości alternatywne.
Uwagi
Klasa WebPartCollection jest kolekcją kontrolek tylko do odczytu, zwykle używaną przez WebPartZoneBase kontrolki i WebPartManager do zarządzania zestawami WebPart kontrolek.
Kontrolka WebPartManager używa WebPartCollection obiektu do przechowywania listy wszystkich WebPart kontrolek na stronie, natomiast WebPartZoneBase kontrolka używa WebPartCollection obiektu do śledzenia WebPart kontrolek, które zawiera.
Uwaga
Kolekcja WebPartCollection zawiera zarówno WebPart kontrolki, jak i inne kontrolki serwera (takie jak kontrolki użytkownika, kontrolki niestandardowe i kontrolki ASP.NET), które są umieszczane w WebPartZoneBase strefach i używane jako część aplikacji składników Web Part. Na przykład jeśli masz strefę na stronie, a w niej zadeklarujesz kontrolkę WebPartZone niestandardową WebPart i kontrolkę ASP.NET Calendar , obie kontrolki będą znajdować się w WebPartCollection kolekcji, do której WebParts odwołuje się właściwość .
Obiekt WebPartCollection istnieje, aby zestaw kontrolek składników Web Part mógł współdziałać z silnie typizowanymi kolekcjami. Podobnie, jeśli chcesz wykonać operacje masowe na zestawie WebPart kontrolek, możesz uzyskać odwołanie do WebPartCollection obiektu przy użyciu WebParts właściwości . Na przykład możesz chcieć przejść w pętli przez wszystkie kontrolki WebPart na stronie i zmienić ich wygląd w jakiś sposób. Mimo że WebPartCollection obiekt jest tylko do odczytu, można wprowadzić zmiany programowe we właściwościach podstawowych kontrolek, do których odwołuje się kolekcja.
Konstruktory
WebPartCollection() |
Inicjuje WebPartCollection puste nowe wystąpienie klasy. |
WebPartCollection(ICollection) |
Inicjuje nowe wystąpienie WebPartCollection obiektu, przekazując ICollection kolekcję WebPart kontrolek. |
Właściwości
Count |
Pobiera liczbę elementów zawartych w wystąpieniu ReadOnlyCollectionBase . (Odziedziczone po ReadOnlyCollectionBase) |
InnerList |
Pobiera listę elementów zawartych w wystąpieniu ReadOnlyCollectionBase . (Odziedziczone po ReadOnlyCollectionBase) |
Item[Int32] |
Zwraca element członkowski kolekcji na podstawie jego pozycji w kolekcji. |
Item[String] |
Zwraca element członkowski kolekcji na podstawie unikatowego identyfikatora ciągu. |
Metody
Contains(WebPart) |
Zwraca wartość wskazującą, czy określona kontrolka istnieje w kolekcji. |
CopyTo(WebPart[], Int32) |
Kopiuje kolekcję do tablicy WebPart obiektów. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetEnumerator() |
Zwraca moduł wyliczający, który iteruje po wystąpieniu ReadOnlyCollectionBase . (Odziedziczone po ReadOnlyCollectionBase) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
IndexOf(WebPart) |
Zwraca pozycję określonego elementu członkowskiego kolekcji. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
ICollection.CopyTo(Array, Int32) |
Kopiuje całość ReadOnlyCollectionBase do zgodnego jednowymiarowego Arrayobiektu , zaczynając od określonego indeksu tablicy docelowej. (Odziedziczone po ReadOnlyCollectionBase) |
ICollection.IsSynchronized |
Pobiera wartość wskazującą ReadOnlyCollectionBase , czy dostęp do obiektu jest synchronizowany (bezpieczny wątek). (Odziedziczone po ReadOnlyCollectionBase) |
ICollection.SyncRoot |
Pobiera obiekt, który może służyć do synchronizowania dostępu do ReadOnlyCollectionBase obiektu. (Odziedziczone po ReadOnlyCollectionBase) |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy obiektu IEnumerable na określony typ. |
OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable elementu na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |