WebPartCollection WebPartCollection WebPartCollection WebPartCollection Class

Определение

Содержит коллекцию элементов управления WebPart, используемую для отслеживания связанных групп элементов управления и для управления ими.Contains a collection of WebPart controls used to track and manage related groups of controls. Этот класс не наследуется.This class cannot be inherited.

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 объекта на веб-части странице.The following code example demonstrates the use of the WebPartCollection object on a Web Parts page. Этот пример состоит из трех частей:This example has three parts:

  • Код для страницы в разделяемом классе.The code for the page in a partial class.

  • Веб-страница, содержащая элементы управления.The Web page that contains the controls.

  • Описание работы примера в браузере.A description of how the example works in a browser.

Первая часть примера кода содержит код страницы в разделяемом классе.The first part of the code example contains the code for the page in a partial class. Обратите внимание Button1_Click , что метод WebPartCollection создает объект WebPart , состоящий из всех элементов управления, WebPartManager.WebParts на которые имеются ссылки WebPart в свойстве, включая все элементы управления на странице.Note that the Button1_Click method creates a WebPartCollection object that consists of all the WebPart controls referenced in the WebPartManager.WebParts property, which includes all the WebPart controls on the page. Метод выполняет перебор всех элементов управления и переключает ChromeState свойство каждого элемента управления, которое определяет, является ли этот элемент управления нормальным или минимальным.The method iterates through all the controls, and toggles each control's ChromeState property, which determines whether that control is normal or minimized.

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

Вторая часть примера кода — это веб-страница, содержащая элементы управления.The second part of the code example is the Web page that contains the controls. Обратите внимание, что элементы WebPartZone1 управления, объявленные в, являются стандартными серверными элементами GenericWebPart управления ASP.NET, но, поскольку они GenericWebPart упаковываются как элементы управления WebPart во время выполнения, а класс наследуется от класса, элементы управления автоматически рассматриваются как WebPart элементы управления во время выполнения и поэтому включаются WebPartCollection в объект.Notice that the controls declared in WebPartZone1 are standard ASP.NET server controls, but because they are wrapped as GenericWebPart controls at run time, and the GenericWebPart class inherits from the WebPart class, the controls are automatically treated as WebPart controls at run time and therefore are included in the WebPartCollection object.

<%@ 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>

После загрузки страницы в браузере и нажатия кнопки переключить чроместате код в разделяемом классе циклически перебирает WebPartCollection объект и дополнительно свертывает элементы управления или возвращает их в нормальное состояние.After you load the page in a browser and click the Toggle ChromeState button, the code in the partial class loops through the WebPartCollection object and alternately minimizes the controls or returns them to normal. Или, если повторно щелкнуть кнопку Переключить заголовок BulletedList1 , заголовок самого края элемента управления изменится на альтернативные значения.Or, if you repeatedly click the Toggle BulletedList1 Title button, the title of the uppermost control is changed to alternate values.

Комментарии

Класс — это доступная только для чтения коллекция элементов управления, которая обычно WebPartZoneBase используется WebPartManager элементами управления и для управления WebPart наборами элементов управления. WebPartCollectionThe WebPartCollection class is a read-only collection of controls, typically used by WebPartZoneBase and WebPartManager controls to manage sets of WebPart controls.

WebPart WebPartZoneBase WebPartCollection WebPart Элемент управления WebPartCollection использует объект для хранения списка всех элементов управления на странице, в то время как элемент управления использует объект для трассировки содержащихся в нем элементов управления. WebPartManagerA WebPartManager control uses a WebPartCollection object to keep a list of all the WebPart controls on a page, whereas a WebPartZoneBase control uses a WebPartCollection object to track the WebPart controls that it contains.

Примечание

Коллекция содержит элементы управления и другие серверные элементы управления (такие как пользовательские элементы управления, пользовательские элементы управления и элементы управления ASP.NET), WebPartZoneBase помещаемые в зоны и используемые в составе веб-части приложений. WebPart WebPartCollectionThe WebPartCollection collection contains both WebPart controls and other server controls (such as user controls, custom controls, and ASP.NET controls) that are placed in WebPartZoneBase zones and used as part of Web Parts applications. Например, если на WebPartZone странице есть зона и в ней объявляется пользовательский WebPart элемент управления и WebPartCollection элемент управления ASP.NET Calendar , то оба элемента управления WebParts будут находиться в коллекции, на которую ссылается свойство.So, for example, if you have a WebPartZone zone in a page, and within it you declare a custom WebPart control and the ASP.NET Calendar control, both controls will be in the WebPartCollection collection referenced by the WebParts property.

WebPartCollection Объект существует, чтобы набор элементов управления веб-части мог работать со строго типизированными коллекциями.The WebPartCollection object exists so that the Web Parts control set can work with strongly typed collections. Аналогично, если требуется выполнить массовые операции с набором WebPart элементов управления, можно получить ссылку WebPartCollection на объект, используя WebParts свойство.Similarly, if you want to perform mass operations on a set of WebPart controls, you can get a reference to a WebPartCollection object using the WebParts property. Например, может потребоваться перебрать все WebPart элементы управления на странице и изменить их внешний вид каким-либо образом.For example, you might want to loop through all the WebPart controls on a page and change their appearance in some way. Несмотря на то WebPartCollection , что объект доступен только для чтения, можно внести программные изменения в свойства базовых элементов управления, упоминаемых в коллекции.Even though the WebPartCollection object is read-only, you can make programmatic changes to the properties of the underlying controls referenced in the collection.

Конструкторы

WebPartCollection() WebPartCollection() WebPartCollection() WebPartCollection()

Инициализирует новый пустой экземпляр класса WebPartCollection.Initializes an empty new instance of the WebPartCollection class.

WebPartCollection(ICollection) WebPartCollection(ICollection) WebPartCollection(ICollection) WebPartCollection(ICollection)

Инициализирует новый экземпляр объекта WebPartCollection, передавая коллекцию ICollection элементов управления WebPart.Initializes a new instance of a WebPartCollection object by passing in an ICollection collection of WebPart controls.

Свойства

Count Count Count Count

Получает число элементов, содержащихся в экземпляре класса ReadOnlyCollectionBase.Gets the number of elements contained in the ReadOnlyCollectionBase instance.

(Inherited from ReadOnlyCollectionBase)
ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Возвращает значение, указывающее на то, является ли доступ к объекту ReadOnlyCollectionBase синхронизированным (потокобезопасным).Gets a value indicating whether access to a ReadOnlyCollectionBase object is synchronized (thread safe).

(Inherited from ReadOnlyCollectionBase)
ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Получает объект, который позволяет синхронизировать доступ к объекту ReadOnlyCollectionBase.Gets an object that can be used to synchronize access to a ReadOnlyCollectionBase object.

(Inherited from ReadOnlyCollectionBase)
InnerList InnerList InnerList InnerList

Получает список элементов, содержащихся в экземпляре класса ReadOnlyCollectionBase.Gets the list of elements contained in the ReadOnlyCollectionBase instance.

(Inherited from ReadOnlyCollectionBase)
Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Возвращает элемент коллекции по его позиции в коллекции.Returns a member of the collection based on its position in the collection.

Item[String] Item[String] Item[String] Item[String]

Возвращает элемент коллекции по уникальному строковому идентификатору.Returns a member of the collection based on a unique string identifier.

Методы

Contains(WebPart) Contains(WebPart) Contains(WebPart) Contains(WebPart)

Возвращает значение, показывающее, существует ли конкретный элемент управления в коллекции.Returns a value indicating whether a particular control exists in the collection.

CopyTo(WebPart[], Int32) CopyTo(WebPart[], Int32) CopyTo(WebPart[], Int32) CopyTo(WebPart[], Int32)

Копирует коллекцию в массив объектов WebPart.Copies the collection to an array of WebPart objects.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Возвращает перечислитель, перебирающий элементы экземпляра класса ReadOnlyCollectionBase.Returns an enumerator that iterates through the ReadOnlyCollectionBase instance.

(Inherited from ReadOnlyCollectionBase)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(WebPart) IndexOf(WebPart) IndexOf(WebPart) IndexOf(WebPart)

Возвращает позицию конкретного элемента коллекции.Returns the position of a particular member of the collection.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Копирует целый массив ReadOnlyCollectionBase в совместимый одномерный массив Array, начиная с заданного индекса целевого массива.Copies the entire ReadOnlyCollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array.

(Inherited from ReadOnlyCollectionBase)

Методы расширения

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к

Дополнительно