WebPartManager.WebParts Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera odwołanie do wszystkich WebPart kontrolek śledzonych przez kontrolkę WebPartManager na stronie sieci Web.
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
Wartość właściwości
Element WebPartCollection zawierający odwołania do zestawu WebPart kontrolek.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak programowo używać właściwości do uzyskiwania WebParts dostępu do poszczególnych WebPart kontrolek. Zwróć uwagę, że w deklaratywnej adiustacji dla strony sieci Web w elemecie <asp:webpartzone>
znajdują się dwa standardowe kontrolki serwera ASP.NET. Chociaż nie dziedziczą one z WebPart klasy, ponieważ znajdują się w strefie, będą one opakowane obiektem w czasie wykonywania, a tym samym zostaną uwzględnione w kolekcji przywołyniętej GenericWebPart WebParts przez właściwość. W tej strefie można również dodać kontrolki niestandardowe WebPart , kontrolki użytkownika lub niestandardowe kontrolki serwera. Będą one obsługiwane w taki sam sposób.
<%@ 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>
Należy pamiętać, że aby przykładowy kod działał, należy dodać ustawienie w pliku Web.config, aby umożliwić eksportowanie plików opisu składniki Web Part. Upewnij się, że masz plik Web.config w tym samym katalogu co strona sieci Web dla tego przykładu kodu. <system.web>
W sekcji upewnij się, że istnieje <webParts>
element z atrybutem ustawionym enableExport
na true
, jak w poniższym znaczniku.
<webParts enableExport="true">
...
</webParts>
Po załadowaniu strony do przeglądarki po kliknięciu przycisku Liczba składników Web Part kod używa WebParts właściwości , aby zwrócić liczbę kontrolek w kolekcji. Po kliknięciu przycisku Ukryj tytuł kalendarza kod zmieni kalendarz tak, aby był renderowany tylko za pomocą obramowania, a nie tytułu.
Uwagi
Właściwość WebParts jest używana przez kontrolkę WebPartManager do śledzenia wszystkich WebPart kontrolek zawartych w WebPartZoneBase strefach na stronie. Mimo że kolekcja jest tylko do odczytu, można uzyskiwać dostęp do poszczególnych WebPart kontrolek za pośrednictwem kolekcji i wprowadzać zmiany w nich programowo.
Uwaga
Można mieć kontrolkę umieszczoną WebPart na stronie poza strefą WebPartZone , co powoduje, że kontrolka nie jest śledzona przez WebPartManager kontrolkę lub odwołuje się do niej w swojej WebParts kolekcji. Jednak nie ma powodu, aby użyć WebPart kontrolki poza strefą, ponieważ następnie traci składniki Web Part funkcjonalność i działa jako normalna kontrola serwera.
Dowolny typ kontrolki, który można umieścić w strefie, niezależnie od tego, czy kontrolka niestandardowaWebPart, standardowa ASP.NET kontrolka, kontrolka użytkownika, czy niestandardowa kontrolka serwera, może być traktowana jako WebPart kontrolka w czasie wykonywania. Gdy kontrolka, która nie jest kontrolką WebPart WebPartZone, znajduje się w strefie, w czasie wykonywania ASP.NET opakowuje kontrolkę obiektemGenericWebPart, aby kontrolka mogła zachowywać się jako prawdziwa WebPart kontrolka. W związku z tym za pomocą właściwości WebPartManager kontrolka WebParts może śledzić dowolny typ kontrolki serwera, niezależnie od tego, czy pochodzi z WebPart klasy.