WebPartManager.WebParts Eigenschaft
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.
Ruft einen Verweis auf alle WebPart Steuerelemente ab, die vom WebPartManager Steuerelement auf einer Webseite nachverfolgt werden.
public:
property System::Web::UI::WebControls::WebParts::WebPartCollection ^ WebParts { System::Web::UI::WebControls::WebParts::WebPartCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Web.UI.WebControls.WebParts.WebPartCollection WebParts { get; }
[<System.ComponentModel.Browsable(false)>]
member this.WebParts : System.Web.UI.WebControls.WebParts.WebPartCollection
Public ReadOnly Property WebParts As WebPartCollection
Eigenschaftswert
A WebPartCollection , das Verweise auf eine Gruppe von WebPart Steuerelementen enthält.
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die WebParts Eigenschaft programmgesteuert für den Zugriff auf einzelne WebPart Steuerelemente verwendet wird. Beachten Sie, dass im deklarativen Markup für die Webseite innerhalb des <asp:webpartzone> Elements zwei Standard-ASP.NET Serversteuerelemente vorhanden sind. Obwohl diese nicht von der WebPart Klasse erben, weil sie sich in einer Zone befinden, werden sie zur Laufzeit mit einem GenericWebPart Objekt umschlossen und daher in die Auflistung einbezogen, auf die von der WebParts Eigenschaft verwiesen wird. Sie können auch benutzerdefinierte Steuerelemente, Benutzersteuerelemente oder benutzerdefinierte WebPart Serversteuerelemente in dieser Zone hinzufügen und auf die gleiche Weise behandelt werden.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "WebPart count: " +
WebPartManager1.WebParts.Count.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
WebPartManager1.WebParts["Calendar1"].ChromeType =
PartChromeType.BorderOnly;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<!-- Reference the WebPartManager control. -->
<asp:WebPartManager ID="WebPartManager1" runat="server" />
<div>
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
DisplayMode="HyperLink"
ID="BulletedList1"
runat="server"
Title="My Links"
ExportMode="All">
<asp:ListItem Value="http://www.microsoft.com">
Microsoft
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
<asp:ListItem Value="http://www.contoso.com">
Contoso Corp.
</asp:ListItem>
</asp:BulletedList>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="WebPart Count"
OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server"
Text="Hide Calendar Title"
OnClick="Button2_Click" />
<br />
<asp:Label ID="Label1" runat="server" text="" />
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Label1.Text = "WebPart count: " & _
WebPartManager1.WebParts.Count.ToString()
End Sub
Protected Sub Button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
WebPartManager1.WebParts("Calendar1").ChromeType = _
PartChromeType.BorderOnly
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<!-- Reference the WebPartManager control. -->
<asp:WebPartManager ID="WebPartManager1" runat="server" />
<div>
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
DisplayMode="HyperLink"
ID="BulletedList1"
runat="server"
Title="My Links"
ExportMode="All">
<asp:ListItem Value="http://www.microsoft.com">
Microsoft
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
<asp:ListItem Value="http://www.contoso.com">
Contoso Corp.
</asp:ListItem>
</asp:BulletedList>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="WebPart Count"
OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server"
Text="Hide Calendar Title"
OnClick="Button2_Click" />
<br />
<asp:Label ID="Label1" runat="server" text="" />
</div>
</form>
</body>
</html>
Beachten Sie, dass Sie für das Codebeispiel eine Einstellung in der datei Web.config hinzufügen müssen, um das Exportieren von Beschreibungsdateien für Webparts zu ermöglichen. Stellen Sie sicher, dass Sie über eine Web.config Datei im selben Verzeichnis wie die Webseite für dieses Codebeispiel verfügen.
<system.web> Stellen Sie im Abschnitt sicher, dass ein <webParts> Element mit einem enableExport Attribut vorhanden ist, das wie im folgenden Markup festgelegt trueist.
<webParts enableExport="true">
...
</webParts>
Nachdem Sie die Seite in einen Browser geladen haben, wenn Sie auf die Schaltfläche " WebPart Count " klicken, verwendet der Code die WebParts Eigenschaft, um die Anzahl der Steuerelemente in der Auflistung zurückzugeben. Wenn Sie auf die Schaltfläche " Kalendertitel ausblenden " klicken, ändert der Code den Kalender so, dass er nur mit einem Rahmen und nicht mit einem Titel gerendert wird.
Hinweise
Die WebParts Eigenschaft wird vom WebPartManager Steuerelement verwendet, um alle WebPart Steuerelemente zu verfolgen, die in WebPartZoneBase Zonen auf der Seite enthalten sind. Obwohl die Sammlung schreibgeschützt ist, können Sie über die Sammlung auf einzelne WebPart Steuerelemente zugreifen und programmgesteuert Änderungen daran vornehmen.
Hinweis
Es ist möglich, dass ein WebPart Steuerelement auf einer Seite außerhalb einer WebPartZone Zone platziert wird, was dazu führt, dass das Steuerelement nicht vom WebPartManager Steuerelement nachverfolgt oder in seiner WebParts Auflistung referenziert wird. Es gibt jedoch wenig Grund, ein WebPart Steuerelement außerhalb einer Zone zu verwenden, da es dann seine Webparts-Funktionalität verliert und als normales Serversteuerelement fungiert.
Jeder Typ von Steuerelementen, die in einer Zone platziert werden können, unabhängig davon, ob ein benutzerdefiniertes WebPart Steuerelement, ein Standard-ASP.NET-Steuerelement, ein Benutzersteuerelement oder ein benutzerdefiniertes Serversteuerelement, kann zur Laufzeit als WebPart Steuerelement behandelt werden. Wenn ein Steuerelement, das kein WebPart Steuerelement ist, in einer WebPartZone Zone platziert wird, wird das Steuerelement zur Laufzeit ASP.NET mit einem GenericWebPart Objekt umbrochen, sodass sich das Steuerelement als echtes WebPart Steuerelement verhalten kann. Daher kann das WebPartManager Steuerelement mithilfe der WebParts Eigenschaft jeden Serversteuerelementtyp nachverfolgen, unabhängig davon, ob es von der WebPart Klasse abgeleitet wird.