次の方法で共有


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

例外

webPartsnullです。

webParts コレクション内のオブジェクトが null です。

- または -

webParts コレクション内のオブジェクトが WebPart 型ではありません。

次のコード例は、Web パーツ ページでのコンストラクターの WebPartCollection 使用を示しています。 この例には、次の 3 つの部分があります。

  • 部分クラス内のページのコード。

  • コントロールを含む Web ページ。

  • ブラウザーでのこの例の動作の説明。

コード例の最初の部分には、部分クラスのページのコードが含まれています。 メソッドはButton1_Click、 プロパティで参照されるすべてのWebPartコントロールで構成されるオブジェクトをWebPartManager.WebParts作成WebPartCollectionします。このオブジェクトには、ページ上のすべてのコントロールがWebPart含まれます。 メソッドは、すべてのコントロールを反復処理し、各コントロールの 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

コード例の 2 番目の部分は、 コントロールを含む Web ページです。 で 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 の切り替え ] ボタンをクリックすると、部分クラスのコードがオブジェクトをループし WebPartCollection 、コントロールを最小化するか、または通常の状態に戻します。 または、[ 箇条書きリスト 1 タイトルの切り替え ] ボタンを繰り返しクリックすると、最上位のコントロールのタイトルが代替値に変更されます。

注釈

コンストラクターは WebPartCollection 、コントロールのコレクションを WebPartCollection 渡すことによって、 クラスの WebPart インスタンスを初期化します。

WebPartCollectionオブジェクトは読み取り専用であり、個々のコントロールを追加するメソッドはありませんが、独自ICollectionのコントロールのコレクションを作成し、それをコンストラクターにWebPartCollection渡すことができます。 これにより、カスタム コレクションを作成し、それらに対して一括操作を実行できます。 コレクション内の基になるコントロールにアクセスし、プログラムでプロパティ値を変更することもできます。

こちらもご覧ください

適用対象