WebPartCollection クラス
アセンブリ: System.Web (system.web.dll 内)


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] ボタンをクリックすると、最前面のコントロールのタイトルの値が交互に入れ替わります。


System.Collections.ReadOnlyCollectionBase
System.Web.UI.WebControls.WebParts.WebPartCollection


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


WebPartCollection コンストラクタ ()
アセンブリ: System.Web (system.web.dll 内)


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

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


WebPartCollection クラス
WebPartCollection メンバ
System.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツ ページ
ASP.NET Web パーツ ページ
WebPartCollection コンストラクタ (ICollection)
アセンブリ: System.Web (system.web.dll 内)



WebPartCollection コンストラクタは、WebPartCollection クラスのインスタンスを、WebPart コントロールのコレクションで渡して初期化します。
WebPartCollection オブジェクトは読み取り専用で、個別のコントロールをそれ自体に追加することはできませんが、コントロールの独自の ICollection コレクションを作成して 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] ボタンをクリックすると、最前面のコントロールのタイトルの値が交互に入れ替わります。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


WebPartCollection コンストラクタ

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

関連項目
WebPartCollection クラスWebPartCollection メンバ
System.Web.UI.WebControls.WebParts 名前空間
その他の技術情報
ASP.NET Web パーツ ページASP.NET Web パーツ ページ
WebPartCollection プロパティ

名前 | 説明 | |
---|---|---|
![]() | Count | ReadOnlyCollectionBase インスタンスに格納されている要素の数を取得します。 ( ReadOnlyCollectionBase から継承されます。) |
![]() | Item | オーバーロードされます。 コレクションにおける位置または一意の識別子に基づいて特定のメンバを返します。 |

名前 | 説明 | |
---|---|---|
![]() | InnerList | ReadOnlyCollectionBase インスタンスに格納されている要素のリストを取得します。 ( ReadOnlyCollectionBase から継承されます。) |

WebPartCollection メソッド

名前 | 説明 | |
---|---|---|
![]() | Contains | 特定のコントロールがコレクション内に存在するかどうかを示す値を返します。 |
![]() | CopyTo | コレクションを WebPart オブジェクトの配列にコピーします。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetEnumerator | ReadOnlyCollectionBase インスタンスを反復処理する列挙子を返します。 ( ReadOnlyCollectionBase から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IndexOf | コレクションの特定のメンバの位置を返します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

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


名前 | 説明 | |
---|---|---|
![]() | Count | ReadOnlyCollectionBase インスタンスに格納されている要素の数を取得します。(ReadOnlyCollectionBase から継承されます。) |
![]() | Item | オーバーロードされます。 コレクションにおける位置または一意の識別子に基づいて特定のメンバを返します。 |

名前 | 説明 | |
---|---|---|
![]() | InnerList | ReadOnlyCollectionBase インスタンスに格納されている要素のリストを取得します。(ReadOnlyCollectionBase から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Contains | 特定のコントロールがコレクション内に存在するかどうかを示す値を返します。 |
![]() | CopyTo | コレクションを WebPart オブジェクトの配列にコピーします。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetEnumerator | ReadOnlyCollectionBase インスタンスを反復処理する列挙子を返します。 (ReadOnlyCollectionBase から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IndexOf | コレクションの特定のメンバの位置を返します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- WebPartCollectionのページへのリンク