WebPartCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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. |