WebPartManager.WebParts プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > WebPartManager.WebParts プロパティの意味・解説 

WebPartManager.WebParts プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

Web ページ上の WebPartManager コントロールで追跡されるすべての WebPart コントロールへの参照を取得します。

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

Dim instance As WebPartManager
Dim value As WebPartCollection

value = instance.WebParts
public WebPartCollection WebParts { get; }
public:
property WebPartCollection^ WebParts {
    WebPartCollection^ get ();
}
/** @property */
public WebPartCollection get_WebParts ()
public function get WebParts
 () : WebPartCollection

プロパティ値
WebPart コントロールのセットへの参照が格納された WebPartCollection。

解説解説

WebPartManager コントロールは、WebParts プロパティを使用して、ページ上の WebPartZoneBase ゾーン内に配置されているすべての WebPart コントロールを追跡します。コレクションは読み取り専用ですが、コレクションを通じて個々の WebPart コントロールにアクセスし、プログラムでこれらを変更できます。

メモメモ

WebPart コントロールは、WebPartZone ゾーン外部のページ上に配置できます。これにより、このコントロールに対しては WebPartManager コントロールによる追跡や WebParts コレクションによる参照が行われなくなります。ただし、Web パーツ機能が失われて通常のサーバー コントロールとして動作するため、ゾーン外部で WebPart コントロールを使用することはほとんどありません。

ゾーン内に配置できるコントロールは、それがカスタム WebPart コントロール、標準 ASP.NET コントロール、ユーザー コントロール、カスタム サーバー コントロールのいずれの種類でも、実行時に WebPart コントロールとして扱うことができます。WebPart 以外のコントロールを WebPartZone ゾーン内に配置すると、実行時に ASP.NET が GenericWebPart オブジェクトでコントロールをラップするため、そのコントロールは真の WebPart コントロールとして動作します。したがって、WebParts プロパティを使用することにより、WebPartManager コントロールは、それが WebPart クラスから派生したかどうかに関係なく、すべての種類のサーバー コントロールを追跡できます。

使用例使用例

プログラムで WebParts プロパティを使用して個々の WebPart コントロールにアクセスする方法のコード例を次に示します。Web ページの宣言マークアップの <asp:webpartzone> 要素内に、2 つの標準 ASP.NET サーバー コントロールが存在します。これらは WebPart クラスから継承しませんが、ゾーン内に存在しているため実行時に GenericWebPart オブジェクトでラップされ、WebParts プロパティで参照されるコレクションに含まれます。また、このゾーンにカスタム WebPart コントロール、ユーザー コントロール、またはカスタム サーバー コントロールを追加すると、これらを同じ方法で処理できます。

<%@ Page Language="vb" %>

<script runat="server">

  Protected Sub Button1_Click(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)
    
    Label1.Text = "WebPart count:  " & _
      WebPartManager1.WebParts.Count.ToString()
  End Sub

  Protected Sub Button2_Click(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)
    
    WebPartManager1.WebParts("Calendar1").ChromeType
 = _
      PartChromeType.BorderOnly

  End Sub
</script>

<html  >
<head id="Head1" runat="server">
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
    <asp:WebPartManager ID="WebPartManager1" runat="server"
 />    
    <div>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links"
            ExportMode="All">
            <asp:ListItem Value="http://www.microsoft.com">
            Microsoft
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
            MSN
            </asp:ListItem>
            <asp:ListItem Value="http://www.contoso.com">
            Contoso Corp.
            </asp:ListItem>
          </asp:BulletedList>
          <asp:Calendar ID="Calendar1" runat="server"
 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Button ID="Button1" runat="server"
 
        Text="WebPart Count" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server"
 
        Text="Hide Calendar Title" 
        OnClick="Button2_Click" />  
      <br />
      <asp:Label ID="Label1" runat="server"
 text="" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>

<script runat="server">

  protected void Button1_Click(object sender,
 EventArgs e)
  {
    Label1.Text = "WebPart count:  " +
      WebPartManager1.WebParts.Count.ToString();
  }

  protected void Button2_Click(object sender,
 EventArgs e)
  {
    WebPartManager1.WebParts["Calendar1"].ChromeType = 
      PartChromeType.BorderOnly;
  }
</script>

<html  >
<head id="Head1" runat="server">
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
    <asp:WebPartManager ID="WebPartManager1" runat="server"
 />    
    <div>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links"
            ExportMode="All">
            <asp:ListItem Value="http://www.microsoft.com">
            Microsoft
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
            MSN
            </asp:ListItem>
            <asp:ListItem Value="http://www.contoso.com">
            Contoso Corp.
            </asp:ListItem>
          </asp:BulletedList>
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Button ID="Button1" runat="server" 
        Text="WebPart Count" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Hide Calendar Title" 
        OnClick="Button2_Click" />  
      <br />
      <asp:Label ID="Label1" runat="server" text=""
 />
    </div>
    </form>
</body>
</html>

コード例が機能するには、Web.config ファイルに設定を追加して、Web パーツ記述ファイルをエクスポートできるようにする必要があります。このコード例の Web ページと同じディレクトリ内に Web.config ファイルが存在することを確認してください。<system.web> セクション内に、次のマークアップのように、true に設定された enableExport 属性を持つ <webParts> 要素が存在することを確認します。

<webParts enableExport="true">

...

</webParts>

ブラウザにページを読み込んだ後、[WebPart Count] をクリックすると、コードは WebParts プロパティを使用して、コレクション内のコントロールの数を返します。[Hide Calendar Title] をクリックすると、コードは、境界線だけが表示されタイトルは表示されないように予定表を変更します。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WebPartManager クラス
WebPartManager メンバ
System.Web.UI.WebControls.WebParts 名前空間



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「WebPartManager.WebParts プロパティ」の関連用語

WebPartManager.WebParts プロパティのお隣キーワード
検索ランキング

   

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



WebPartManager.WebParts プロパティのページの著作権

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

©2026 GRAS Group, Inc.RSS