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 der Ausführung des Beispiels.
Der erste Teil des Codebeispiels ist eine Webseite, die drei WebPartZone Steuerelemente enthält, von denen jedes ein einzelnes Serversteuerelement enthält. Obwohl es sich bei diesen Serversteuerelementen um Standardsteuerelemente ASP.NET handelt, können sie zur Laufzeit als WebPart Steuerelemente fungieren, da sie innerhalb 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 zum Veranschaulichen der Verwendung der WebPartZoneCollection -Klasse enthält. 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 einen Browser. Die drei WebPartZone Zonen sind mit ihren enthaltenen Serversteuerelementen sichtbar. Am unteren Rand der Seite befinden sich mehrere Schaltflächen, von denen jede einen Aspekt der Arbeit mit dem WebPartZoneCollection -Objekt veranschaulicht. Klicken Sie auf jede Schaltfläche, um deren Auswirkungen auf die Zonen und deren Inhalt anzuzeigen. Um den Code anzuzeigen, der jeder Schaltfläche zugeordnet ist, die einen Aspekt des WebPartZoneCollection Objekts veranschaulicht, zeigen Sie den Code in der partiellen Klassendatei an, auf die oben verwiesen wird, als zweiten Teil dieses Codebeispiels.
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 deren Inhalt überprüfen oder ändern müssen. Obwohl die Auflistung der Zonen selbst schreibgeschützt ist und Sie die Größe des Auflistungsobjekts selbst nicht ändern können, können Sie dennoch Verweise auf die einzelnen Zonen innerhalb der Auflistung abrufen, und wenn Sie über einen Verweis auf ein einzelnes Zonenobjekt verfügen, können Sie dessen Eigenschaftswerte ändern.
Die WebPartZoneCollection -Klasse verfügt über zwei Konstruktoren. Der erste , WebPartZoneCollection(), initialisiert einfach eine leere Instanz eines neuen WebPartZoneCollection. Die zweite, WebPartZoneCollection(ICollection), initialisiert eine Auflistung, indem eine vorhandene Auflistung von Zonen übergeben wird.
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 wird durch Abgleich des Zeichenfolgenbezeichners mit dem Wert der ID -Eigenschaft für eine WebPartZoneBase Zone gefunden.
Die WebPartZoneCollection -Klasse verfügt auch über mehrere Methoden, die für die Untersuchung oder den Zugriff auf ihre 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. |