WebPartZoneCollection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Enthält eine schreibgeschützte Auflistung von WebPartZone-Steuerelementen.
public ref class WebPartZoneCollection sealed : System::Collections::ReadOnlyCollectionBase
public sealed class WebPartZoneCollection : System.Collections.ReadOnlyCollectionBase
type WebPartZoneCollection = class
inherit ReadOnlyCollectionBase
Public NotInheritable Class WebPartZoneCollection
Inherits ReadOnlyCollectionBase
- Vererbung
Beispiele
Im folgenden Codebeispiel wird die Verwendung der WebPartZoneCollection Klasse veranschaulicht. Das Codebeispiel enthält drei Teile: zwei Codeabschnitte und eine Erläuterung zum Ausführen des Beispiels.
Der erste Teil des Codebeispiels ist eine Webseite, die drei WebPartZone Steuerelemente enthält, die jeweils ein einzelnes Serversteuerelement enthalten. Obwohl diese Serversteuerelemente alle standardmäßigen ASP.NET Steuerelemente sind, können sie zur Laufzeit als WebPart Steuerelemente fungieren, da sie in einer WebPartZone Zone platziert werden.
<%@ Page Language="C#"
Codefile="webpartzonecollection_overview.cs"
Inherits="webpartzonecollection_overview" %>
<!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>WebPartZoneCollection Demo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr" runat="server" />
<asp:Table ID="Table1" runat="server">
<asp:TableRow>
<asp:TableCell>
<asp:Label ID="lblZone1" runat="server"
Font-Bold="true"
AssociatedControlID="WebPartZone1">
WebPartZone1 Contents
</asp:Label>
<asp:WebPartZone ID="WebPartZone1"
runat="server" Width="230">
<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>
</ZoneTemplate>
</asp:WebPartZone>
<div>
<asp:Label ID="lblZone2" runat="server"
Font-Bold="true"
AssociatedControlID="WebPartZone2">
WebPartZone2 Contents
</asp:Label>
</div>
<asp:WebPartZone ID="WebPartZone2"
runat="server" Width="230">
<ZoneTemplate>
<asp:Calendar ID="Calendar1"
runat="server"
Title="My Calendar"
CatalogIconImageUrl="Mine.gif" />
</ZoneTemplate>
</asp:WebPartZone>
</asp:TableCell>
<asp:TableCell VerticalAlign="top">
<asp:Label ID="lblZone3" runat="server"
Font-Bold="true"
AssociatedControlID="WebPartZone3">
WebPartZone3 Contents
</asp:Label>
<asp:WebPartZone ID="WebPartZone3" runat="server">
<ZoneTemplate>
<asp:Table runat="server" ID="table2"
Title="Employee Extensions">
<asp:TableHeaderRow>
<asp:TableHeaderCell Scope="Column">
Employee Name</asp:TableHeaderCell>
<asp:TableHeaderCell Scope="Column">
Extension</asp:TableHeaderCell>
</asp:TableHeaderRow>
<asp:TableRow>
<asp:TableCell>Alberts, Amy</asp:TableCell>
<asp:TableCell>x9764</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell>Hanif, Karim</asp:TableCell>
<asp:TableCell>x3240</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell>Penor, Lori</asp:TableCell>
<asp:TableCell>x4165</asp:TableCell>
</asp:TableRow>
</asp:Table>
</ZoneTemplate>
</asp:WebPartZone>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</div>
<hr />
<asp:Table ID="Table3" runat="server">
<asp:TableRow>
<asp:TableCell>
<asp:Button ID="Button1" runat="server"
Width ="200" OnClick="Button1_Click"
Text="Total Zone Count" />
<br />
<asp:Button ID="Button2" runat="server"
Width ="200" OnClick="Button2_Click"
Text="Coll. Contains WebPartZone2" />
<br />
<asp:Button ID="Button3" runat="server"
Width ="200" OnClick="Button3_Click"
Text="Zone Names from Array" />
<br />
<asp:Button ID="Button4" runat="server"
Width ="200" OnClick="Button4_Click"
Text="WebPartZone1 Index" />
<br />
<asp:Button ID="Button5" runat="server"
Width ="200" OnClick="Button5_Click"
Text="Toggle Verb Render Mode" />
</asp:TableCell>
<asp:TableCell HorizontalAlign="right"
Width="200" VerticalAlign="top">
<asp:Label ID="Label1" runat="server"
Font-Bold="true" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</form>
</body>
</html>
<%@ Page Language="VB"
Codefile="webpartzonecollection_overview.vb"
Inherits="webpartzonecollection_overview" %>
<!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>WebPartZoneCollection Demo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr" runat="server" />
<asp:Table ID="Table1" runat="server">
<asp:TableRow>
<asp:TableCell>
<asp:Label ID="lblZone1" runat="server"
Font-Bold="true"
AssociatedControlID="WebPartZone1">
WebPartZone1 Contents
</asp:Label>
<asp:WebPartZone ID="WebPartZone1"
runat="server" Width="230">
<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>
</ZoneTemplate>
</asp:WebPartZone>
<div>
<asp:Label ID="lblZone2" runat="server"
Font-Bold="true"
AssociatedControlID="WebPartZone2">
WebPartZone2 Contents
</asp:Label>
</div>
<asp:WebPartZone ID="WebPartZone2"
runat="server" Width="230">
<ZoneTemplate>
<asp:Calendar ID="Calendar1"
runat="server"
Title="My Calendar"
CatalogIconImageUrl="Mine.gif" />
</ZoneTemplate>
</asp:WebPartZone>
</asp:TableCell>
<asp:TableCell VerticalAlign="top">
<asp:Label ID="lblZone3" runat="server"
Font-Bold="true"
AssociatedControlID="WebPartZone3">
WebPartZone3 Contents
</asp:Label>
<asp:WebPartZone ID="WebPartZone3" runat="server">
<ZoneTemplate>
<asp:Table runat="server" ID="table2"
Title="Employee Extensions">
<asp:TableHeaderRow>
<asp:TableHeaderCell Scope="Column">
Employee Name</asp:TableHeaderCell>
<asp:TableHeaderCell Scope="Column">
Extension</asp:TableHeaderCell>
</asp:TableHeaderRow>
<asp:TableRow>
<asp:TableCell>Alberts, Amy</asp:TableCell>
<asp:TableCell>x9764</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell>Hanif, Karim</asp:TableCell>
<asp:TableCell>x3240</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell>Penor, Lori</asp:TableCell>
<asp:TableCell>x4165</asp:TableCell>
</asp:TableRow>
</asp:Table>
</ZoneTemplate>
</asp:WebPartZone>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</div>
<hr />
<asp:Table ID="Table3" runat="server">
<asp:TableRow>
<asp:TableCell>
<asp:Button ID="Button1" runat="server"
Width ="200" OnClick="Button1_Click"
Text="Total Zone Count" />
<br />
<asp:Button ID="Button2" runat="server"
Width ="200" OnClick="Button2_Click"
Text="Coll. Contains WebPartZone2" />
<br />
<asp:Button ID="Button3" runat="server"
Width ="200" OnClick="Button3_Click"
Text="Zone Names from Array" />
<br />
<asp:Button ID="Button4" runat="server"
Width ="200" OnClick="Button4_Click"
Text="WebPartZone1 Index" />
<br />
<asp:Button ID="Button5" runat="server"
Width ="200" OnClick="Button5_Click"
Text="Toggle Verb Render Mode" />
</asp:TableCell>
<asp:TableCell HorizontalAlign="right"
Width="200" VerticalAlign="top">
<asp:Label ID="Label1" runat="server"
Font-Bold="true" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</form>
</body>
</html>
Der zweite Teil des Codebeispiels ist die Partielle Klasse, die den Code enthält, um die Verwendung der WebPartZoneCollection Klasse zu veranschaulichen. Dieser Code behandelt die Ereignisse für die Webseite.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class webpartzonecollection_overview : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = String.Empty;
Label1.Text = "WebPartZone Count: " + mgr.Zones.Count;
}
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text = String.Empty;
Label1.Text = mgr.Zones.Contains(WebPartZone2).ToString();
}
protected void Button3_Click(object sender, EventArgs e)
{
Label1.Text = String.Empty;
WebPartZoneBase[] zoneArray = new WebPartZoneBase[mgr.Zones.Count];
mgr.Zones.CopyTo(zoneArray, 0);
Label1.Text = zoneArray[2].ID;
Label1.Text += ", " + zoneArray[1].ID;
Label1.Text += ", " + zoneArray[0].ID;
}
protected void Button4_Click(object sender, EventArgs e)
{
Label1.Text = String.Empty;
Label1.Text = "WebPartZone1 index: " + mgr.Zones.IndexOf(WebPartZone1);
}
protected void Button5_Click(object sender, EventArgs e)
{
Label1.Text = String.Empty;
WebPartZoneCollection zoneCollection = mgr.Zones;
foreach (WebPartZone zone in zoneCollection)
{
if (zone.WebPartVerbRenderMode == WebPartVerbRenderMode.Menu)
zone.WebPartVerbRenderMode = WebPartVerbRenderMode.TitleBar;
else
zone.WebPartVerbRenderMode = WebPartVerbRenderMode.Menu;
}
}
}
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Partial Public Class webpartzonecollection_overview
Inherits Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Label1.Text = String.Empty
Label1.Text = "WebPartZone Count: " & mgr.Zones.Count
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs)
Label1.Text = String.Empty
Label1.Text = mgr.Zones.Contains(WebPartZone2).ToString()
End Sub
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs)
Label1.Text = String.Empty
Dim zoneArray(mgr.Zones.Count) As WebPartZoneBase
mgr.Zones.CopyTo(zoneArray, 0)
Label1.Text = zoneArray(2).ID
Label1.Text += ", " & zoneArray(1).ID
Label1.Text += ", " & zoneArray(0).ID
End Sub
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As EventArgs)
Label1.Text = String.Empty
Label1.Text = "WebPartZone1 index: " & mgr.Zones.IndexOf(WebPartZone1)
End Sub
Protected Sub Button5_Click(ByVal sender As Object, ByVal e As EventArgs)
Label1.Text = String.Empty
Dim zoneCollection As WebPartZoneCollection = mgr.Zones
Dim zone As WebPartZone
For Each zone In zoneCollection
If zone.WebPartVerbRenderMode = WebPartVerbRenderMode.Menu Then
zone.WebPartVerbRenderMode = WebPartVerbRenderMode.TitleBar
Else
zone.WebPartVerbRenderMode = WebPartVerbRenderMode.Menu
End If
Next zone
End Sub
End Class
Laden Sie die Seite in einem Browser. Die drei WebPartZone Zonen sind mit ihren enthaltenen Serversteuerelementen sichtbar. Am unteren Rand der Seite befinden sich mehrere Schaltflächen, von denen jeder einen Aspekt der Arbeit mit dem WebPartZoneCollection Objekt veranschaulicht. Klicken Sie auf jede Schaltfläche, um den Effekt auf die Zonen und deren Inhalt anzuzeigen. Um den Code anzuzeigen, der jeder Schaltfläche zugeordnet ist, der einen Aspekt des WebPartZoneCollection Objekts veranschaulicht, zeigen Sie den Code in der oben genannten Teilklassendatei als zweiten Teil dieses Codebeispiels an.
Hinweise
Die WebPartZoneCollection Klasse enthält die Auflistung von WebPartZone Steuerelementen, die auf einer Webparts Seite vorhanden sind. Es wird hauptsächlich vom WebPartManager Steuerelement verwendet, um alle Zonen nachzuverfolgen und zu verwalten. Das WebPartManager Steuerelement behält einen Verweis auf die Auflistung von Zonen auf einer Seite in seiner schreibgeschützten Zones Eigenschaft bei.
Die WebPartZoneCollection Klasse ist nützlich, wenn Sie Vorgänge für mehrere Zonen oder deren Inhalt gleichzeitig ausführen möchten, oder wenn Sie eine bestimmte Zone suchen und den Inhalt überprüfen oder ändern möchten. Obwohl die Auflistung der Zonen selbst schreibgeschützt ist und Sie die Größe des Auflistungsobjekts selbst nicht ändern können, können Sie weiterhin Verweise auf die einzelnen Zonen innerhalb der Auflistung abrufen, und wenn Sie einen Verweis auf ein einzelnes Zonenobjekt haben, können Sie dessen Eigenschaftswerte ändern.
Die WebPartZoneCollection Klasse verfügt über zwei Konstruktoren. Die erste, WebPartZoneCollection(), initialisiert einfach eine leere Instanz eines neuen WebPartZoneCollection. Die zweite, initialisiert eine Auflistung, WebPartZoneCollection(ICollection)indem sie eine vorhandene Sammlung von Zonen übergeben.
Die WebPartZoneCollection Klasse enthält eine Item[] Eigenschaft. Mit dieser Eigenschaft können Sie ein WebPartZone Steuerelement innerhalb der Auflistung suchen, indem Sie einen Zeichenfolgenbezeichner übergeben. Die Zone befindet sich, indem der Zeichenfolgenbezeichner mit dem Wert der ID Eigenschaft in einer WebPartZoneBase Zone übereinstimmen.
Die WebPartZoneCollection Klasse verfügt auch über mehrere Methoden, die zum Untersuchen oder Zugreifen auf seine Inhalte nützlich sind. Die Contains Methode bestimmt, ob eine bestimmte Zone in der Auflistung vorhanden ist. Die CopyTo Methode kopiert die Auflistung in ein Array von WebPartZoneBase Objekten. Schließlich gibt die IndexOf Methode den Index einer bestimmten Zone innerhalb der Auflistung zurück.
Konstruktoren
WebPartZoneCollection() |
Initialisiert eine leere Instanz der WebPartZoneCollection-Klasse. |
WebPartZoneCollection(ICollection) |
Initialisiert eine Instanz der WebPartZoneCollection-Klasse, indem eine Auflistung von WebPartZone-Objekten übergeben wird. |
Eigenschaften
Count |
Ruft die Anzahl der in der ReadOnlyCollectionBase-Instanz enthaltenen Elemente ab. (Geerbt von ReadOnlyCollectionBase) |
InnerList |
Ruft die Liste der in der ReadOnlyCollectionBase-Instanz enthaltenen Elemente ab. (Geerbt von ReadOnlyCollectionBase) |
Item[Int32] |
Gibt einen bestimmten Member der Auflistung zurück, indem eine ganze Zahl übergeben wird. |
Item[String] |
Gibt einen bestimmten Member der Auflistung zurück, indem ein eindeutiger Bezeichner übergeben wird. |
Methoden
Contains(WebPartZoneBase) |
Ruft einen Wert ab, der angibt, ob eine bestimmte Zone in der Auflistung vorhanden ist. |
CopyTo(WebPartZoneBase[], Int32) |
Kopiert die Auflistung in ein Array von WebPartZoneBase-Objekten. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetEnumerator() |
Gibt einen Enumerator zurück, der die ReadOnlyCollectionBase durchläuft. (Geerbt von ReadOnlyCollectionBase) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IndexOf(WebPartZoneBase) |
Gibt die Position eines bestimmten Members der Auflistung zurück. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
ICollection.CopyTo(Array, Int32) |
Kopiert die gesamte ReadOnlyCollectionBase-Instanz in ein kompatibles eindimensionales Array, beginnend am angegebenen Index des Zielarrays. (Geerbt von ReadOnlyCollectionBase) |
ICollection.IsSynchronized |
Ruft einen Wert ab, der angibt, ob der Zugriff auf ein ReadOnlyCollectionBase-Objekt synchronisiert (threadsicher) ist. (Geerbt von ReadOnlyCollectionBase) |
ICollection.SyncRoot |
Ruft ein Objekt ab, mit dem der Zugriff auf ein ReadOnlyCollectionBase-Objekt synchronisiert werden kann. (Geerbt von ReadOnlyCollectionBase) |
Erweiterungsmethoden
Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um |
OfType<TResult>(IEnumerable) |
Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs |
AsParallel(IEnumerable) |
Ermöglicht die Parallelisierung einer Abfrage. |
AsQueryable(IEnumerable) |
Konvertiert einen IEnumerable in einen IQueryable. |