WebPartCollection 클래스

정의

관련 컨트롤 그룹을 추적하고 관리하는 데 사용되는 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

예제

다음 코드 예제에서는 WebPartCollection 웹 파트 페이지에는 개체입니다.The following code example demonstrates the use of the WebPartCollection object on a Web Parts page. 이 예제는 세 부분으로 이루어져 있습니다.This example has three parts:

  • 코드는 partial 클래스에는 페이지입니다.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.

첫 번째 부분은 코드 예제에서는 partial 클래스에서 페이지의 코드를 포함합니다.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 은 표준 ASP.NET 서버 컨트롤 하지만 래핑되고 GenericWebPart 런타임 시 컨트롤 및 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>

클릭을 브라우저에서 페이지를 로드 합니다 토글 ChromeState 단추를 partial 클래스의 코드를 반복는 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.

설명

WebPartCollection 클래스는 일반적으로 사용 되는 컨트롤의 읽기 전용 컬렉션 WebPartZoneBase 하 고 WebPartManager 집합을 관리 하는 컨트롤 WebPart 컨트롤입니다.The WebPartCollection class is a read-only collection of controls, typically used by WebPartZoneBase and WebPartManager controls to manage sets of WebPart controls.

WebPartManager 컨트롤이 사용 하는 WebPartCollection 모든 목록을 유지 하는 개체를 WebPart 반면 페이지에 컨트롤을 WebPartZoneBase 컨트롤이 사용 하는 WebPartCollection 추적할 개체입니다는 WebPart 포함 된 컨트롤.A 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.

참고

합니다 WebPartCollection 컬렉션 모두 포함 WebPart 컨트롤과 기타 서버 컨트롤 (예: 사용자 정의 컨트롤, 사용자 지정 컨트롤 및 ASP.NET 컨트롤)에 배치 된 WebPartZoneBase 영역 및 웹 파트 애플리케이션의 일부로 사용 합니다.The 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 컨트롤과 ASP.NET Calendar 컨트롤 두 컨트롤 모두에 됩니다는 WebPartCollection 참조 컬렉션은 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 클래스의 비어 있는 새 인스턴스를 초기화합니다.Initializes an empty new instance of the WebPartCollection class.

WebPartCollection(ICollection)

WebPartCollection 컨트롤의 ICollection 컬렉션을 전달하여 WebPart 개체의 새 인스턴스를 초기화합니다.Initializes a new instance of a WebPartCollection object by passing in an ICollection collection of WebPart controls.

속성

Count

ReadOnlyCollectionBase 인스턴스에 포함된 요소 수를 가져옵니다.Gets the number of elements contained in the ReadOnlyCollectionBase instance.

(다음에서 상속됨 ReadOnlyCollectionBase)
InnerList

ReadOnlyCollectionBase 인스턴스에 포함된 요소의 목록을 가져옵니다.Gets the list of elements contained in the ReadOnlyCollectionBase instance.

(다음에서 상속됨 ReadOnlyCollectionBase)
Item[Int32]

컬렉션에서의 위치를 기준으로 컬렉션의 멤버를 반환합니다.Returns a member of the collection based on its position in the collection.

Item[String]

고유한 문자열 식별자를 기반으로 컬렉션의 멤버를 반환합니다.Returns a member of the collection based on a unique string identifier.

메서드

Contains(WebPart)

특정 컨트롤이 컬렉션에 있는지 여부를 나타내는 값을 반환합니다.Returns a value indicating whether a particular control exists in the collection.

CopyTo(WebPart[], Int32)

컬렉션을 WebPart 개체의 배열에 복사합니다.Copies the collection to an array of WebPart objects.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetEnumerator()

ReadOnlyCollectionBase 인스턴스를 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through the ReadOnlyCollectionBase instance.

(다음에서 상속됨 ReadOnlyCollectionBase)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
IndexOf(WebPart)

컬렉션의 특정 멤버 위치를 반환합니다.Returns the position of a particular member of the collection.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

대상 배열의 지정된 인덱스에서 시작하여 전체 ReadOnlyCollectionBase을 호환되는 1차원 Array에 복사합니다.Copies the entire ReadOnlyCollectionBase to a compatible one-dimensional Array, starting at the specified index of the target array.

(다음에서 상속됨 ReadOnlyCollectionBase)
ICollection.IsSynchronized

ReadOnlyCollectionBase 개체에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether access to a ReadOnlyCollectionBase object is synchronized (thread safe).

(다음에서 상속됨 ReadOnlyCollectionBase)
ICollection.SyncRoot

ReadOnlyCollectionBase 개체에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.Gets an object that can be used to synchronize access to a ReadOnlyCollectionBase object.

(다음에서 상속됨 ReadOnlyCollectionBase)

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

적용 대상

추가 정보