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ů. Tato třída se nemůže dě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 pro stránku v částečné třídě. Všimněte si Button1_Click , že 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é v WebPartZone1 jsou standardní ASP.NET serverové ovládací prvky, ale protože jsou zabaleny jako GenericWebPart ovládací prvky za běhu a GenericWebPart třída dědí z WebPart třídy, jsou ovládací prvky automaticky považovány 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ě projde WebPartCollection objekt a střídavě minimalizuje ovládací prvky nebo je vrátí do normálu. Nebo pokud opakovaně kliknete na tlačítko Přepnout název odrážkového seznamu1 , 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á ovládacími WebPartZoneBase prvky a WebPartManager ke správě sad ovládacích WebPart prvků.

Ovládací WebPartManager prvek používá WebPartCollection objekt k uchová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 ovládací prvky a WebPart 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žívají se jako součást aplikací webových částí. Pokud máte například na stránce zónu WebPartZone a v ní deklarujete vlastní WebPart ovládací prvek a ASP.NET Calendar , budou oba ovládací prvky v WebPartCollection kolekci odkazované WebParts vlastností .

Objekt WebPartCollection existuje, aby sada ovládacích prvků webových částí fungovala s kolekcemi silného typu. 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 novou instanci WebPartCollection 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 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í člen kolekce na základě jedinečného identifikátoru řetězce.

Metody

Contains(WebPart)

Vrátí hodnotu označující, jestli v kolekci existuje konkrétní ovládací prvek.

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í enumerátor, který iteruje prostřednictvím ReadOnlyCollectionBase instance.

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

Slouží jako výchozí hashovací funkce.

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

Type Získá z 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 Objectsouboru .

(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 celek ReadOnlyCollectionBase do kompatibilního jednorozměrného Arrayobjektu počínaje zadaným indexem cílového pole.

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

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

(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 objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také