다음을 통해 공유


WebPartCollection 생성자

정의

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

오버로드

WebPartCollection()

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

WebPartCollection(ICollection)

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

WebPartCollection()

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

public:
 WebPartCollection();
public WebPartCollection ();
Public Sub New ()

설명

WebPartCollection 생성자는 클래스의 빈 인스턴스를 초기화합니다WebPartCollection. 개체 자체는 읽기 전용이며 개별 WebPart 컨트롤을 추가할 방법이 없으므로 이 생성자를 사용할 기회가 거의 없습니다.

추가 정보

적용 대상

WebPartCollection(ICollection)

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

public:
 WebPartCollection(System::Collections::ICollection ^ webParts);
public WebPartCollection (System.Collections.ICollection webParts);
new System.Web.UI.WebControls.WebParts.WebPartCollection : System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.WebPartCollection
Public Sub New (webParts As ICollection)

매개 변수

webParts
ICollection

ICollection 컨트롤의 WebPart입니다.

예외

webParts이(가) null인 경우

webParts 컬렉션의 개체가 null인 경우

또는

webParts 컬렉션의 개체가 WebPart 형식이 아닌 경우

예제

다음 코드 예제에서는 웹 파트 페이지에서 생성자를 사용하는 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 생성자는 컨트롤 컬렉션을 전달하여 클래스의 WebPartCollectionWebPart 인스턴스를 초기화합니다.

WebPartCollection 개체는 읽기 전용이며 개별 컨트롤을 추가하는 방법은 없지만 고유한 ICollection 컨트롤 컬렉션을 만들고 생성자에 전달할 WebPartCollection 수 있습니다. 이렇게 하면 사용자 지정 컬렉션을 만들고 대량 작업을 수행할 수 있습니다. 컬렉션의 기본 컨트롤에 액세스하고 해당 속성 값을 프로그래밍 방식으로 변경할 수도 있습니다.

추가 정보

적용 대상