다음을 통해 공유


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

예제

다음 코드 예제에서는 웹 파트 페이지에서 개체를 WebPartCollection 사용하는 방법을 보여 줍니다. 이 예제에는 다음 세 부분이 있습니다.

  • partial 클래스의 페이지에 대한 코드입니다.

  • 컨트롤이 포함된 웹 페이지입니다.

  • 예제가 브라우저에서 작동하는 방식에 대한 설명입니다.

코드 예제의 첫 번째 부분에는 partial 클래스의 페이지에 대한 코드가 포함되어 있습니다. 메서드는 Button1_Click 페이지의 모든 컨트롤을 포함하는 속성에서 WebPartManager.WebParts 참조되는 모든 WebPartWebPart 컨트롤로 구성된 개체를 만듭니다WebPartCollection. 메서드는 모든 컨트롤을 반복하고 각 컨트롤의 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 토글 단추를 클릭하면 partial 클래스의 코드가 개체를 반복 WebPartCollection 하고 컨트롤을 최소화하거나 정상으로 반환합니다. 또는 글머리 기호 목록1 제목 설정/해제 단추를 반복적으로 클릭하면 맨 위 컨트롤의 제목이 대체 값으로 변경됩니다.

설명

클래스는 WebPartCollection 일반적으로 및 컨트롤에서 컨트롤 집합을 관리하는 데 사용되는 WebPartZoneBaseWebPartManager 컨트롤의 WebPart 읽기 전용 컬렉션입니다.

WebPartManager 컨트롤은 개체를 WebPartCollection 사용하여 페이지의 모든 WebPart 컨트롤 목록을 유지하는 반면WebPartZoneBase, 컨트롤은 개체를 WebPartCollection 사용하여 포함된 컨트롤을 추적 WebPart 합니다.

참고

합니다 WebPartCollection 컬렉션 모두 포함 WebPart 컨트롤과 기타 서버 컨트롤 (예: 사용자 정의 컨트롤, 사용자 지정 컨트롤 및 ASP.NET 컨트롤)에 배치 된 WebPartZoneBase 영역 및 웹 파트 애플리케이션의 일부로 사용 합니다. 예를 들어 페이지에 영역이 WebPartZone 있고 그 안에 사용자 지정 WebPart 컨트롤과 ASP.NET Calendar 컨트롤을 선언하는 경우 두 컨트롤은 모두 속성에서 참조하는 WebParts 컬렉션에 WebPartCollection 있습니다.

WebPartCollection 웹 파트 컨트롤 집합이 강력한 형식의 컬렉션에서 작동할 수 있도록 개체가 존재합니다. 마찬가지로 컨트롤 집합 WebPart 에서 대량 작업을 수행하려는 경우 속성을 사용하여 WebParts 개체에 대한 참조를 WebPartCollection 가져올 수 있습니다. 예를 들어 페이지의 모든 컨트롤을 WebPart 반복하고 어떤 식으로든 모양을 변경할 수 있습니다. 개체가 WebPartCollection 읽기 전용이지만 컬렉션에서 참조되는 기본 컨트롤의 속성을 프로그래밍 방식으로 변경할 수 있습니다.

생성자

WebPartCollection()

WebPartCollection 클래스의 비어 있는 새 인스턴스를 초기화합니다.

WebPartCollection(ICollection)

WebPartCollection 컨트롤의 ICollection 컬렉션을 전달하여 WebPart 개체의 새 인스턴스를 초기화합니다.

속성

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을 호환되는 1차원 Array에 복사합니다.

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

ReadOnlyCollectionBase 개체에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지 여부를 나타내는 값을 가져옵니다.

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

ReadOnlyCollectionBase 개체에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.

(다음에서 상속됨 ReadOnlyCollectionBase)

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.

적용 대상

추가 정보