WebPartManager.Zones Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает ссылку на коллекцию всех зон WebPartZoneBase на веб-странице.
public:
property System::Web::UI::WebControls::WebParts::WebPartZoneCollection ^ Zones { System::Web::UI::WebControls::WebParts::WebPartZoneCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Web.UI.WebControls.WebParts.WebPartZoneCollection Zones { get; }
[<System.ComponentModel.Browsable(false)>]
member this.Zones : System.Web.UI.WebControls.WebParts.WebPartZoneCollection
Public ReadOnly Property Zones As WebPartZoneCollection
Значение свойства
Коллекция WebPartZoneCollection, которая ссылается на набор зон WebPartZoneBase.
- Атрибуты
Примеры
В следующем примере кода показано, как использовать Zones свойство программным способом для доступа к отдельным WebPartZoneBase элементам управления зонами. Обратите внимание, что в декларативной разметке для веб-страницы есть два <asp:webpartzone>
элемента, каждый из которых содержит серверный элемент управления. <script>
В разделе страницы код использует Zones свойство для доступа к отдельным зонам, перечисляя все идентификаторы зон и изменяя цвет фона во второй зоне.
<%@ 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)
{
foreach (WebPartZone zone in WebPartManager1.Zones)
{
Label1.Text += zone.ID + "<br />";
}
}
protected void Button2_Click(object sender, EventArgs e)
{
WebPartManager1.Zones["WebPartZone2"].BackColor = System.Drawing.Color.LightBlue;
}
</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>
</ZoneTemplate>
</asp:WebPartZone>
<asp:WebPartZone ID="WebPartZone2" runat="server">
<ZoneTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="List Zone IDs"
OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server"
Text="Change Zone BackColor"
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)
Dim zone As WebPartZone
For Each zone In WebPartManager1.Zones
Label1.Text += zone.ID & "<br />"
Next
End Sub
Protected Sub Button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
WebPartManager1.Zones("WebPartZone2").BackColor = _
System.Drawing.Color.LightBlue
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>
</ZoneTemplate>
</asp:WebPartZone>
<asp:WebPartZone ID="WebPartZone2" runat="server">
<ZoneTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<asp:Button ID="Button1" runat="server"
Text="List Zone IDs"
OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server"
Text="Change Zone BackColor"
OnClick="Button2_Click" />
<br />
<asp:Label ID="Label1" runat="server" text="" />
</div>
</form>
</body>
</html>
Обратите внимание, что для работы примера кода необходимо добавить параметр в файл Web.config, чтобы включить экспорт файлов описания веб-части. Убедитесь, что у вас есть файл Web.config в том же каталоге, что и веб-страница для этого примера кода. <system.web>
В разделе убедитесь, что в разделе есть <webParts>
элемент с заданным true
атрибутомenableExport
, как показано в следующей разметке.
<webParts enableExport="true">
...
</webParts>
После загрузки страницы в браузер, если нажать кнопку "Идентификаторы зоны списка ", код использует Zones свойство для перечисления идентификаторов всех зон в коллекции. Если нажать кнопку Change Zone BackColor , код изменяет цвет фона второй зоны.
Комментарии
Свойство Zones используется элементом WebPartManager управления для отслеживания WebPartZoneBase зон на веб-странице. Обратите внимание, что свойство не ссылается на все типы зон; он ссылается только на зоны, производные от WebPartZoneBase класса, включая WebPartZone зоны.
Хотя коллекция, на которую ссылается свойство, доступна только для чтения, ее можно использовать для доступа к отдельным объектам в коллекции и программной работы с ними.