WebPartCollection Třída

Definice

Obsahuje kolekci ovládacích prvků sloužících WebPart ke sledování a správě souvisejících skupin ovládacích prvků. Tuto třídu nelze zdědit.

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
Dědičnost
WebPartCollection

Příklady

Následující příklad kódu ukazuje použití objektu WebPartCollection na Webové části stránce. Tento příklad má tři části:

  • Kód stránky v částečné třídě.

  • Webová stránka, která obsahuje ovládací prvky.

  • Popis toho, jak příklad funguje v prohlížeči

První část příkladu kódu obsahuje kód stránky v částečné třídě. Všimněte si, že Button1_Click metoda vytvoří WebPartCollection objekt, který se skládá ze všech WebPart ovládacích prvků odkazovaných ve WebPartManager.WebParts vlastnosti, která zahrnuje všechny WebPart ovládací prvky na stránce. Metoda iteruje všechny ovládací prvky a přepíná vlastnost každého ovládacího prvku ChromeState , která určuje, zda je tento ovládací prvek normální nebo minimalizovaný.

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

Druhou částí příkladu kódu je webová stránka, která obsahuje ovládací prvky. Všimněte si, že ovládací prvky deklarované ve WebPartZone1 standardu ASP.NET serverových ovládacích prvcích, ale jsou zabalené jako GenericWebPart ovládací prvky za běhu a GenericWebPart třída dědí z WebPart třídy, ovládací prvky se automaticky považují za WebPart ovládací prvky za běhu, a proto jsou zahrnuty do objektuWebPartCollection.

<%@ 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 načtení stránky v prohlížeči a kliknutí na tlačítko Přepnout ChromeState kód v částečné třídě prochází objektem WebPartCollection a případně minimalizuje ovládací prvky nebo je vrátí do normálního stavu. Nebo pokud opakovaně kliknete na tlačítko Přepnout odrážku1 Název , název horního ovládacího prvku se změní na alternativní hodnoty.

Poznámky

Třída WebPartCollection je kolekce ovládacích prvků jen pro čtení, která se obvykle používá WebPartZoneBase a WebPartManager ovládací prvky ke správě sad ovládacích WebPart prvků.

Ovládací WebPartManager prvek používá WebPartCollection objekt k zachování seznamu všech WebPart ovládacích prvků na stránce, zatímco WebPartZoneBase ovládací prvek používá WebPartCollection objekt ke sledování WebPart ovládacích prvků, které obsahuje.

Poznámka

Kolekce WebPartCollection obsahuje WebPart ovládací prvky i další serverové ovládací prvky (například uživatelské ovládací prvky, vlastní ovládací prvky a ovládací prvky ASP.NET), které jsou umístěny v WebPartZoneBase zónách a používány jako součást Webové části aplikací. Pokud tedy máte například zónu WebPartZone na stránce a v ní deklarujete vlastní WebPart ovládací prvek a ovládací prvek ASP.NETCalendar, oba ovládací prvky budou v kolekci WebPartCollection odkazované vlastnostíWebParts.

Objekt WebPartCollection existuje tak, aby sada ovládacích prvků Webové části fungovala s kolekcemi se silnými typy. Podobně pokud chcete provádět hromadné operace se sadou ovládacích WebPart prvků, můžete získat odkaz na WebPartCollection objekt pomocí WebParts vlastnosti. Můžete například chtít procházet všechny WebPart ovládací prvky na stránce a nějakým způsobem změnit jejich vzhled. I když WebPartCollection je objekt jen pro čtení, můžete provádět programové změny vlastností podkladových ovládacích prvků odkazovaných v kolekci.

Konstruktory

WebPartCollection()

Inicializuje prázdnou WebPartCollection novou instanci třídy.

WebPartCollection(ICollection)

Inicializuje novou instanci objektu WebPartCollection předáním ICollection kolekce ovládacích WebPart prvků.

Vlastnosti

Count

Získá počet prvků obsažených v ReadOnlyCollectionBase instanci.

(Zděděno od ReadOnlyCollectionBase)
InnerList

Získá seznam prvků obsažených v ReadOnlyCollectionBase instanci.

(Zděděno od ReadOnlyCollectionBase)
Item[Int32]

Vrátí člena kolekce na základě jeho pozice v kolekci.

Item[String]

Vrátí člena kolekce na základě jedinečného identifikátoru řetězce.

Metody

Contains(WebPart)

Vrátí hodnotu určující, zda určitý ovládací prvek existuje v kolekci.

CopyTo(WebPart[], Int32)

Zkopíruje kolekci do pole WebPart objektů.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

Vrátí výčet, který iteruje prostřednictvím ReadOnlyCollectionBase instance.

(Zděděno od ReadOnlyCollectionBase)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
IndexOf(WebPart)

Vrátí pozici určitého člena kolekce.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

ICollection.CopyTo(Array, Int32)

Zkopíruje celý ReadOnlyCollectionBase objekt do kompatibilního jednorozměrného Array, počínaje zadaným indexem cílového pole.

(Zděděno od ReadOnlyCollectionBase)
ICollection.IsSynchronized

Získá hodnotu označující, zda je přístup k objektu ReadOnlyCollectionBase synchronizován (bezpečné vlákno).

(Zděděno od ReadOnlyCollectionBase)
ICollection.SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k objektu ReadOnlyCollectionBase .

(Zděděno od ReadOnlyCollectionBase)

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky zadaného IEnumerable typu.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede na IEnumerable IQueryable.

Platí pro

Viz také