WebPartManager.WebParts Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá odkaz na všechny WebPart ovládací prvky sledované WebPartManager ovládacím prvku na webové stránce.
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
Hodnota vlastnosti
A WebPartCollection , který obsahuje odkazy na sadu ovládacích WebPart prvků.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak použít WebParts vlastnost programově pro přístup k jednotlivým WebPart ovládacím prvkům. Všimněte si, že v deklarativním kódu webové stránky v rámci elementu <asp:webpartzone> existují dva standardní ASP.NET serverové ovládací prvky. I když tyto třídy nedědí WebPart , protože jsou v zóně, budou zabaleny objektem GenericWebPart za běhu, a proto budou zahrnuty do kolekce odkazované vlastností WebParts . V této zóně můžete také přidat vlastní WebPart ovládací prvky, uživatelské ovládací prvky nebo vlastní serverové ovládací prvky a zpracovávat je stejným způsobem.
<%@ 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>
Všimněte si, že aby příklad kódu fungoval, musíte do souboru Web.config přidat nastavení pro povolení exportu souborů popisu webových částí. Ujistěte se, že máte soubor Web.config ve stejném adresáři jako webová stránka pro tento příklad kódu. V oddílu <system.web> se ujistěte, že existuje <webParts> prvek s atributem enableExport nastaveným na true, jako v následujícím kódu.
<webParts enableExport="true">
...
</webParts>
Po načtení stránky do prohlížeče, pokud kliknete na tlačítko Počet webových částí , kód použije WebParts vlastnost k vrácení počtu ovládacích prvků v kolekci. Pokud kliknete na tlačítko Skrýt název kalendáře , kód změní kalendář tak, aby se vykreslovat pouze s ohraničením a ne názvem.
Poznámky
Vlastnost WebParts používá WebPartManager ovládací prvek ke sledování všech WebPart ovládacích prvků obsažených v WebPartZoneBase zónách na stránce. I když je kolekce určená jen pro čtení, můžete přistupovat k jednotlivým WebPart ovládacím prvkům prostřednictvím kolekce a provádět v nich změny prostřednictvím kódu programu.
Poznámka:
Ovládací prvek je možné umístit WebPart na stránku mimo zónu WebPartZone , což vede k tomu, že ovládací prvek nesleduje WebPartManager ovládací prvek nebo odkazovaný v jeho WebParts kolekci. Existuje však malý důvod k použití WebPart ovládacího prvku mimo zónu, protože pak ztratí funkce webových částí a funguje jako normální serverový ovládací prvek.
Jakýkoli typ ovládacího prvku, který lze umístit do zóny, ať už vlastní WebPart ovládací prvek, standardní ovládací prvek ASP.NET, uživatelský ovládací prvek nebo vlastní serverový ovládací prvek, lze považovat za WebPart ovládací prvek za běhu. Pokud je ovládací prvek, který není WebPart ovládací prvek umístěn v WebPartZone zóně, ASP.NET zabalí ovládací prvek objektem GenericWebPart , aby se ovládací prvek mohl chovat jako skutečný WebPart ovládací prvek. Proto pomocí WebParts vlastnosti může WebPartManager ovládací prvek sledovat jakýkoli typ serverového ovládacího prvku bez ohledu na to, zda je odvozen z WebPart třídy.