WebPartCollection Klasa

Definicja

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
WebPartCollection

Przykłady

Poniższy przykład kodu przedstawia użycie WebPartCollection obiektu na stronie składników Web Part. Ten przykład ma trzy części:

  • Kod strony w klasie częściowej.

  • Strona sieci Web zawierająca kontrolki.

  • Opis sposobu 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 WebPartManager.WebParts się 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 sieci Web zawierająca kontrolki. Zwróć uwagę, że kontrolki zadeklarowane w pliku WebPartZone1 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 chromeState kod w częściowej pętli klas przez WebPartCollection obiekt i alternatywnie minimalizuje kontrolki lub zwraca je do normalnego. Lub, jeśli wielokrotnie klikasz przycisk Przełącz punktowanąlistę1 Tytuł , tytuł kontrolki najwspanalszej 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 WebPart zarówno 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ę WebPartZone na stronie, a w niej zadeklarujesz kontrolkę 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ł 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ć przełączyć wszystkie kontrolki WebPart na stronę i zmienić wygląd w jakiś sposób. Mimo że WebPartCollection obiekt jest tylko do odczytu, można wprowadzić programowe zmiany we właściwościach podstawowych kontrolek, do których odwołuje się kolekcja.

Konstruktory

WebPartCollection()

Inicjuje puste nowe wystąpienie WebPartCollection klasy.

WebPartCollection(ICollection)

Inicjuje WebPartCollection nowe wystąpienie 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 za pośrednictwem ReadOnlyCollectionBase wystąpienia.

(Odziedziczone po ReadOnlyCollectionBase)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(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łą ReadOnlyCollectionBase do zgodnej jednowymiarowej Arraytablicy, zaczynając od określonego indeksu tablicy docelowej.

(Odziedziczone po ReadOnlyCollectionBase)
ICollection.IsSynchronized

Pobiera wartość wskazującą, czy dostęp do ReadOnlyCollectionBase 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 elementu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy elementu IEnumerable na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też