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ů. 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
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. |