Sdílet prostřednictvím


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 stránce webových částí. 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 fungování příkladu 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šemi ovládacími 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 standardních ASP.NET serverových ovládacích prvcích, ale protože jsou zabaleny 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 objektu 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>

Po načtení stránky v prohlížeči a kliknutí na tlačítko Přepnout ChromeState kód v částečné třídě smyčky prochází WebPartCollection objektem a alternativně minimalizuje ovládací prvky nebo je vrátí do normálního stavu. Nebo pokud opakovaně kliknete na tlačítko Přepnout název odrážky1 , 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í, obvykle používané WebPartZoneBase ovládacími prvky a WebPartManager ovládacími 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 aplikací webových částí. 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.NET Calendar , budou oba ovládací prvky v WebPartCollection kolekci odkazované vlastností WebParts .

Objekt WebPartCollection existuje, aby sada ovládacích částí webových částí fungovala se silnými kolekcemi. 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

Name Description
WebPartCollection()

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

WebPartCollection(ICollection)

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

Vlastnosti

Name Description
Count

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

(Zděděno od ReadOnlyCollectionBase)
InnerList

Získá seznam prvků obsažených ReadOnlyCollectionBase v 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

Name Description
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čuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Vrátí enumerátor, 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()

Získá Type aktuální instance.

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

Vrátí pozici konkrétního člena kolekce.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního 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í

Name Description
ICollection.CopyTo(Array, Int32)

Zkopíruje celý ReadOnlyCollectionBase soubor 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í

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable na základě zadaného typu.

Platí pro

Viz také