WebPartManager.WebParts Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een verwijzing op naar alle WebPart besturingselementen die worden bijgehouden door het WebPartManager besturingselement op een webpagina.
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
Waarde van eigenschap
Een WebPartCollection met verwijzingen naar een set WebPart besturingselementen.
- Kenmerken
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de WebParts eigenschap programmatisch gebruikt voor toegang tot afzonderlijke WebPart besturingselementen. U ziet dat er in de declaratieve markeringen voor de webpagina, binnen het element <asp:webpartzone>, twee standaardbesturingselementen voor ASP.NET server zijn. Hoewel deze niet overnemen van de WebPart klasse, omdat ze zich in een zone bevinden, worden ze tijdens runtime verpakt met een GenericWebPart object en worden ze dus opgenomen in de verzameling waarnaar wordt verwezen door de WebParts eigenschap. U kunt ook aangepaste besturingselementen, gebruikersbesturingselementen of aangepaste WebPart serverbesturingselementen in deze zone toevoegen en ze worden op dezelfde manier afgehandeld.
<%@ 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>
Houd er rekening mee dat u voor het codevoorbeeld een instelling in het Web.config-bestand moet toevoegen om beschrijvingsbestanden van webonderdelen te kunnen exporteren. Zorg ervoor dat u een Web.config bestand in dezelfde map hebt als de webpagina voor dit codevoorbeeld. Controleer in de <system.web> sectie of er een <webParts> element is met een enableExport kenmerk ingesteld op true, zoals in de volgende markeringen.
<webParts enableExport="true">
...
</webParts>
Nadat u de pagina in een browser hebt geladen en u op de knop Aantal webonderdelen klikt, gebruikt de code de WebParts eigenschap om het aantal besturingselementen in de verzameling te retourneren. Als u op de knop Agendatitel verbergen klikt, verandert de code de agenda zodat deze wordt weergegeven met alleen een rand en geen titel.
Opmerkingen
De WebParts eigenschap wordt door het WebPartManager besturingselement gebruikt om alle WebPart besturingselementen in WebPartZoneBase zones op de pagina bij te houden. Hoewel de verzameling alleen-lezen is, hebt u toegang tot afzonderlijke WebPart besturingselementen via de verzameling en kunt u ze programmatisch wijzigen.
Note
Het is mogelijk om een WebPart besturingselement op een pagina buiten een WebPartZone zone te plaatsen, waardoor het besturingselement niet wordt bijgehouden door het besturingselement of waarnaar wordt verwezen in WebPartManager de WebParts verzameling. Er is echter weinig reden om een WebPart besturingselement buiten een zone te gebruiken, omdat het vervolgens de functionaliteit van de webonderdelen verliest en fungeert als een normaal serverbeheer.
Elk type besturingselement dat in een zone kan worden geplaatst, of een aangepast WebPart besturingselement, een standaard ASP.NET besturingselement, een gebruikersbeheer of een aangepast serverbeheer, kan worden beschouwd als een WebPart besturingselement tijdens runtime. Wanneer een besturingselement dat geen WebPart-besturingselement is, in een WebPartZone zone wordt geplaatst, ASP.NET het besturingselement verpakt met een GenericWebPart-object, zodat het besturingselement zich kan gedragen als een waar WebPart besturingselement. Daarom kan het WebParts besturingselement met behulp van de WebPartManager eigenschap elk type serverbesturingselement bijhouden, ongeacht of het is afgeleid van de WebPart klasse.