WebPartCollectionとは? わかりやすく解説

WebPartCollection クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

関連するコントロールのグループの追跡および管理のために使用される WebPart コントロールのコレクションを格納します。このクラスは継承できません。

名前空間: System.Web.UI.WebControls.WebParts
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 WebPartCollection
    Inherits ReadOnlyCollectionBase
Dim instance As WebPartCollection
public sealed class WebPartCollection : ReadOnlyCollectionBase
public ref class WebPartCollection sealed :
 public ReadOnlyCollectionBase
public final class WebPartCollection extends
 ReadOnlyCollectionBase
public final class WebPartCollection extends
 ReadOnlyCollectionBase
解説解説

WebPartCollection クラスは、コントロールの読み取り専用のコレクションで、通常、WebPartZoneBase コントロールおよび WebPartManager コントロールによって WebPart コントロールのセットを管理するために使用されます。

WebPartManager コントロールは、WebPartCollection オブジェクトを使用してページ上のすべての WebPart コントロールのリストを保持します。それに対して、WebPartZoneBase コントロールは、WebPartCollection オブジェクトを使用してそのコレクションに含まれる WebPart コントロールを追跡します。

メモメモ

WebPartCollection コレクションは、WebPart コントロールと、WebPartZoneBase ゾーン内に配置されて Web パーツ アプリケーションの一部として使用される他のサーバー コントロール (ユーザー コントロール、カスタム コントロール、ASP.NET コントロールなど) の両方を格納します。たとえば、ページに WebPartZone ゾーンが存在しており、そのゾーン内でカスタム WebPart コントロールと ASP.NET Calendar コントロールを宣言すると、両方のコントロールが、WebPartCollection コレクション内で WebParts プロパティによって参照されます。

WebPartCollection オブジェクトによって、Web パーツ コントロール セットは、厳密に型指定されたコレクションを使用できます。同様に、WebPart コントロールのセットに対して大量の操作を一括して実行する場合、WebParts プロパティを使用して WebPartCollection オブジェクトへの参照を取得できます。たとえば、ページのすべての WebPart コントロールを反復処理して、なんらかの方法でそれらの外観を変更することが必要な場合があります。WebPartCollection オブジェクトは読み取り専用ですが、コレクションで参照される基になるコントロールのプロパティをプログラムによって変更することはできます。

使用例使用例

Web パーツ ページの WebPartCollection オブジェクトを使用する方法を次のコード例に示します。この例は、3 つの部分で構成されます。

コード例の最初の部分には、部分クラス内のページのコードが含まれます。Button1_Click メソッドは、WebPartManager.WebParts プロパティで参照されるすべての WebPart コントロールで構成される WebPartCollection オブジェクトを作成します。このオブジェクトには、ページ上のすべての WebPart コントロールが含まれます。このメソッドは、すべてのコントロールを反復処理して、コントロールが標準の状態かまたは最小化状態かを決定する各コントロールの ChromeState プロパティの値を切り替えます。

Imports System
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
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";
  }
}

コード例の 2 番目の部分は、コントロールを含んでいる Web ページです。WebPartZone1 内で宣言されているコントロールは標準 ASP.NET サーバー コントロールです。しかし、それらのコントロールは、実行時に GenericWebPart コントロールとしてラップされ、GenericWebPart クラスは WebPart クラスから継承されるため、実行時に自動的に WebPart コントロールとして扱われ、結果として WebPartCollection オブジェクトに含まれます。

<%@ Page Language="vb"
  Codefile="webpartcollection.vb" 
  Inherits="webpartcollectionvb"
 %>

<html  >
<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>
<%@ Page Language="C#" 
  Codefile="webpartcollection.cs" 
  Inherits="webpartcollectioncs" %>

<html  >
<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>

ブラウザでページを読み込み、[Toggle ChromeState] をクリックすると、部分クラスのコードは WebPartCollection オブジェクトを反復処理して、各コントロールを最小化するか標準の状態に戻します。または、繰り返し [Toggle BulletedList1 Title] ボタンをクリックすると、最前面のコントロールのタイトルの値が交互に入れ替わります。

.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
   System.Collections.ReadOnlyCollectionBase
    System.Web.UI.WebControls.WebParts.WebPartCollection
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

WebPartCollection コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

WebPartCollection クラスの新しい空のインスタンスを初期化します。

名前空間: System.Web.UI.WebControls.WebParts
アセンブリ: System.Web (system.web.dll 内)
構文構文

Dim instance As New WebPartCollection
public WebPartCollection ()
public:
WebPartCollection ()
public WebPartCollection ()
public function WebPartCollection ()
解説解説

WebPartCollection コンストラクタは、WebPartCollection クラスの空のインスタンスを初期化します。このオブジェクト自体は読み取り専用で、個別の WebPart コントロールをそのオブジェクトに追加することはできません。したがって、このコンストラクタはあまり使用されません。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

WebPartCollection コンストラクタ (ICollection)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

WebPartCollection オブジェクトの新しいインスタンスを、WebPart コントロールの ICollection コレクションで渡して初期化します。

名前空間: System.Web.UI.WebControls.WebParts
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    webParts As ICollection _
)
Dim webParts As ICollection

Dim instance As New WebPartCollection(webParts)
public WebPartCollection (
    ICollection webParts
)
public:
WebPartCollection (
    ICollection^ webParts
)
public WebPartCollection (
    ICollection webParts
)
public function WebPartCollection (
    webParts : ICollection
)

パラメータ

webParts

WebPart コントロールの ICollection。

例外例外
解説解説
使用例使用例

Web パーツ ページの WebPartCollection コンストラクタを使用する方法を次のコード例に示します。この例は、3 つの部分で構成されます。

コード例の最初の部分には、部分クラス内のページのコードが含まれます。Button1_Click メソッドは、WebPartManager.WebParts プロパティで参照されるすべての WebPart コントロールで構成される WebPartCollection オブジェクトを作成します。このオブジェクトには、ページ上のすべての WebPart コントロールが含まれます。このメソッドは、すべてのコントロールを反復処理して、コントロールが標準の状態かまたは最小化状態かを決定する各コントロールの ChromeState プロパティの値を切り替えます。

Imports System
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
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";
  }
}

コード例の 2 番目の部分は、コントロールを含んでいる Web ページです。WebPartZone1 内で宣言されているコントロールは標準 ASP.NET サーバー コントロールです。しかし、それらのコントロールは、実行時に GenericWebPart コントロールとしてラップされ、GenericWebPart クラスは WebPart クラスから継承されるため、実行時に自動的に WebPart コントロールとして扱われ、結果として WebPartCollection オブジェクトに含まれます。

<%@ Page Language="vb"
  Codefile="webpartcollection.vb" 
  Inherits="webpartcollectionvb"
 %>

<html  >
<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>
<%@ Page Language="C#" 
  Codefile="webpartcollection.cs" 
  Inherits="webpartcollectioncs" %>

<html  >
<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>

ブラウザでページを読み込み、[Toggle ChromeState] ボタンをクリックすると、部分クラスのコードは WebPartCollection オブジェクトを反復処理して、各コントロールを最小化するか標準の状態に戻します。または、繰り返し [Toggle BulletedList1 Title] ボタンをクリックすると、最前面のコントロールのタイトルの値が交互に入れ替わります。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WebPartCollection クラス
WebPartCollection メンバ
System.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツ ページ

WebPartCollection コンストラクタ

WebPartCollection クラスの新しいインスタンスを初期化します。 ASP.NET Web パーツ ページ
オーバーロードの一覧オーバーロードの一覧

名前 説明
WebPartCollection () WebPartCollection クラスの新しい空のインスタンスを初期化します。
WebPartCollection (ICollection) WebPartCollection オブジェクトの新しいインスタンスを、WebPart コントロールの ICollection コレクションで渡して初期化します。
参照参照

関連項目

WebPartCollection クラス
WebPartCollection メンバ
System.Web.UI.WebControls.WebParts 名前空間

その他の技術情報

ASP.NET Web パーツ ページ
ASP.NET Web パーツ ページ

WebPartCollection プロパティ


パブリック プロパティパブリック プロパティ

プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ InnerList  ReadOnlyCollectionBase インスタンスに格納されている要素のリストを取得します。 ( ReadOnlyCollectionBase から継承されます。)
参照参照

関連項目

WebPartCollection クラス
System.Web.UI.WebControls.WebParts 名前空間
WebPart クラス

その他の技術情報

ASP.NET Web パーツ ページ

WebPartCollection メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

WebPartCollection クラス
System.Web.UI.WebControls.WebParts 名前空間
WebPart クラス

その他の技術情報

ASP.NET Web パーツ ページ

WebPartCollection メンバ

関連するコントロールのグループの追跡および管理のために使用される WebPart コントロールのコレクションを格納します。このクラスは継承できません。

WebPartCollection データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド WebPartCollection オーバーロードされます。 WebPartCollection クラスの新しいインスタンスを初期化します。
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ InnerList  ReadOnlyCollectionBase インスタンスに格納されている要素のリストを取得します。(ReadOnlyCollectionBase から継承されます。)
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

WebPartCollection クラス
System.Web.UI.WebControls.WebParts 名前空間
WebPart クラス

その他の技術情報

ASP.NET Web パーツ ページ



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「WebPartCollection」の関連用語

WebPartCollectionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



WebPartCollectionのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS