WebPartCollection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Содержит коллекцию элементов управления, используемых WebPart для отслеживания связанных групп элементов управления и управления ими. Этот класс не может быть унаследован.
public ref class WebPartCollection sealed : System::Collections::ReadOnlyCollectionBase
public sealed class WebPartCollection : System.Collections.ReadOnlyCollectionBase
type WebPartCollection = class
inherit ReadOnlyCollectionBase
Public NotInheritable Class WebPartCollection
Inherits ReadOnlyCollectionBase
- Наследование
Примеры
В следующем примере кода показано использование WebPartCollection объекта на странице веб-частей. В этом примере три части:
Код страницы в частичном классе.
Веб-страница, содержащая элементы управления.
Описание работы примера в браузере.
Первая часть примера кода содержит код для страницы в частичном классе. Обратите внимание, что Button1_Click метод создает WebPartCollection объект, состоящий из всех WebPart элементов управления, на которые WebPartManager.WebParts ссылается свойство, который включает все WebPart элементы управления на странице. Метод выполняет итерацию всех элементов управления и переключает свойство каждого элемента управления ChromeState , которое определяет, является ли этот элемент управления нормальным или свернут.
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class webpartcollectioncs : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
WebPartCollection partCollection = mgr1.WebParts;
foreach (WebPart part in partCollection)
{
if (part.ChromeState != PartChromeState.Minimized)
part.ChromeState = PartChromeState.Minimized;
else
part.ChromeState = PartChromeState.Normal;
}
}
protected void Button2_Click(object sender, EventArgs e)
{
WebPartCollection partCollection = WebPartZone1.WebParts;
if (partCollection[0].Title == "My Link List")
partCollection[0].Title = "Favorite Links";
else
partCollection[0].Title = "My Link List";
}
}
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Partial Public Class webpartcollectionvb
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim partCollection As WebPartCollection = mgr1.WebParts
Dim part As WebPart
For Each part In partCollection
If part.ChromeState <> PartChromeState.Minimized Then
part.ChromeState = PartChromeState.Minimized
Else
part.ChromeState = PartChromeState.Normal
End If
Next
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim partCollection As WebPartCollection = WebPartZone1.WebParts
If partCollection(0).Title = "My Link List" Then
partCollection(0).Title = "Favorite Links"
Else
partCollection(0).Title = "My Link List"
End If
End Sub
End Class
Второй частью примера кода является веб-страница, содержащая элементы управления. Обратите внимание, что элементы управления, объявленные в WebPartZone1 стандартных ASP.NET серверных элементов управления, но так как они упаковываются в виде GenericWebPart элементов управления во время выполнения, а GenericWebPart класс наследует от WebPart класса, элементы управления автоматически обрабатываются WebPart как элементы управления во время выполнения и поэтому включаются в WebPartCollection объект.
<%@ Page Language="C#"
Codefile="webpartcollection.cs"
Inherits="webpartcollectioncs" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr1" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
ID="BulletedList1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorite Links" >
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
<br />
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
</div>
<hr />
<asp:Button ID="Button1" runat="server" Width="200"
Text="Toggle ChromeState" OnClick="Button1_Click" />
<br />
<asp:Button ID="Button2" runat="server" Width="200"
Text="Toggle BulletedList1 Title"
OnClick="Button2_Click"/>
</form>
</body>
</html>
<%@ Page Language="vb"
Codefile="webpartcollection.vb"
Inherits="webpartcollectionvb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr1" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
ID="BulletedList1"
Runat="server"
DisplayMode="HyperLink"
Title="Favorite Links" >
<asp:ListItem Value="http://msdn.microsoft.com">
MSDN
</asp:ListItem>
<asp:ListItem Value="http://www.asp.net">
ASP.NET
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
</asp:BulletedList>
<br />
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
</div>
<hr />
<asp:Button ID="Button1" runat="server" Width="200"
Text="Toggle ChromeState" OnClick="Button1_Click" />
<br />
<asp:Button ID="Button2" runat="server" Width="200"
Text="Toggle BulletedList1 Title"
OnClick="Button2_Click"/>
</form>
</body>
</html>
После загрузки страницы в браузере и нажатия кнопки "Переключить ChromeState ", код в частичном классе циклизируется через WebPartCollection объект и также позволяет свести к минимуму элементы управления или вернуть их в нормальное состояние. Или, если вы неоднократно нажимаете кнопку "Переключить маркированный список1" , заголовок самого верхнего элемента управления изменяется на альтернативные значения.
Комментарии
Класс WebPartCollection — это коллекция элементов управления только для чтения, обычно используемая WebPartZoneBase элементами управления и WebPartManager элементами управления для управления наборами WebPart элементов управления.
Элемент WebPartManager управления использует объект для хранения списка всех WebPart элементов управления на странице, в то время как WebPartZoneBase элемент управления использует WebPartCollectionWebPartCollection объект для отслеживания WebPart элементов управления, содержащихся в нем.
Замечание
Коллекция WebPartCollection содержит WebPart элементы управления и другие серверные элементы управления (такие как пользовательские элементы управления, пользовательские элементы управления и ASP.NET элементы управления), которые размещаются в зонах и используются в WebPartZoneBase составе приложений веб-частей. Например, если у вас есть WebPartZone зона на странице, и внутри нее объявляется пользовательский WebPart элемент управления и элемент управления ASP.NET Calendar , оба элемента управления будут находиться в WebPartCollection коллекции, на которую WebParts ссылается свойство.
Объект WebPartCollection существует, чтобы набор элементов управления веб-частей работал с строго типизированными коллекциями. Аналогичным образом, если вы хотите выполнить массовые операции с набором WebPart элементов управления, можно получить ссылку на WebPartCollection объект с помощью WebParts свойства. Например, может потребоваться прокрутить все WebPart элементы управления на странице и изменить их внешний вид каким-то образом. Несмотря на то, что WebPartCollection объект доступен только для чтения, можно вносить программные изменения в свойства базовых элементов управления, на которые ссылается коллекция.
Конструкторы
| Имя | Описание |
|---|---|
| WebPartCollection() |
Инициализирует пустой новый экземпляр WebPartCollection класса. |
| WebPartCollection(ICollection) |
Инициализирует новый экземпляр WebPartCollection объекта, передав коллекцию ICollectionWebPart элементов управления. |
Свойства
| Имя | Описание |
|---|---|
| Count |
Возвращает количество элементов, содержащихся в экземпляре ReadOnlyCollectionBase . (Унаследовано от ReadOnlyCollectionBase) |
| InnerList |
Возвращает список элементов, содержащихся в экземпляре ReadOnlyCollectionBase . (Унаследовано от ReadOnlyCollectionBase) |
| Item[Int32] |
Возвращает элемент коллекции на основе его позиции в коллекции. |
| Item[String] |
Возвращает элемент коллекции на основе уникального идентификатора строки. |
Методы
| Имя | Описание |
|---|---|
| Contains(WebPart) |
Возвращает значение, указывающее, существует ли определенный элемент управления в коллекции. |
| CopyTo(WebPart[], Int32) |
Копирует коллекцию в массив WebPart объектов. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetEnumerator() |
Возвращает перечислитель, который выполняет итерацию по экземпляру ReadOnlyCollectionBase . (Унаследовано от ReadOnlyCollectionBase) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IndexOf(WebPart) |
Возвращает положение определенного члена коллекции. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Копирует весь ReadOnlyCollectionBase в совместимую одномерную Array, начиная с указанного индекса целевого массива. (Унаследовано от ReadOnlyCollectionBase) |
| ICollection.IsSynchronized |
Возвращает значение, указывающее, синхронизирован ли доступ к объекту ReadOnlyCollectionBase (потокобезопасный). (Унаследовано от ReadOnlyCollectionBase) |
| ICollection.SyncRoot |
Получает объект, который можно использовать для синхронизации доступа к объекту ReadOnlyCollectionBase . (Унаследовано от ReadOnlyCollectionBase) |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |