WebPartManager.AddWebPart メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > WebPartManager.AddWebPart メソッドの意味・解説 

WebPartManager.AddWebPart メソッド

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

Web ページにプログラムで WebPart コントロールを追加する標準メソッドを提供します。

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

Public Function AddWebPart ( _
    webPart As WebPart, _
    zone As WebPartZoneBase, _
    zoneIndex As Integer _
) As WebPart
Dim instance As WebPartManager
Dim webPart As WebPart
Dim zone As WebPartZoneBase
Dim zoneIndex As Integer
Dim returnValue As WebPart

returnValue = instance.AddWebPart(webPart, zone, zoneIndex)
public WebPart AddWebPart (
    WebPart webPart,
    WebPartZoneBase zone,
    int zoneIndex
)
public:
WebPart^ AddWebPart (
    WebPart^ webPart, 
    WebPartZoneBase^ zone, 
    int zoneIndex
)
public WebPart AddWebPart (
    WebPart webPart, 
    WebPartZoneBase zone, 
    int zoneIndex
)
public function AddWebPart (
    webPart : WebPart, 
    zone : WebPartZoneBase, 
    zoneIndex : int
) : WebPart

パラメータ

webPart

Web ページに追加するか、ページ上で開く WebPart (あるいは、サーバー コントロールまたはユーザー コントロール)。

zone

webPart の追加先となる WebPartZoneBase。

zoneIndex

zone 内の他のコントロールに対して zone 内で webPart が占める序数位置を表す整数。

戻り値
ページに追加された WebPart コントロール。

例外例外
例外の種類条件

ArgumentNullException

webPart が null 参照 (Visual Basic では Nothing) です。

または

zone が null 参照 (Visual Basic では Nothing) です。

ArgumentException

zone が、ゾーンの WebPartManager コントロールのコレクションに登録されていません。

または

webPart は、既に zone にあります。

ArgumentOutOfRangeException

zoneIndex の値が 0 未満です。

解説解説

AddWebPart メソッドは、ページに新しい動的な WebPart コントロールを追加する場合、およびページ上の前回閉じたスタティック コントロールまたはダイナミック コントロールを再度開く場合の両方に使用します。このメソッドを呼び出して新しいコントロールを追加する場合、それは実際には webPart パラメータで参照するコントロールのコピーを作成します。コントロールのコピーに対して新しい ID が生成されるため、開発者はメソッドから返される WebPart コントロールを参照して、新しい ID 値を取得する必要があります。このメソッドを呼び出して前回閉じたコントロールを再度開くと、webPart パラメータで参照するコントロールへの直接参照が返されます。

メモ重要 :

ページにプログラムで WebPart コントロールを追加する場合、Add メソッドを使用すると例外がスローされるため、WebPartManager.Controls プロパティで参照されるコントロールのコレクションの Add メソッドではなく、常に AddWebPart メソッドを使用する必要があります。WebPart 以外のコントロール (つまり、実行時に GenericWebPart コントロールでラップされるサーバー コントロール) を追加するには、最初に CreateWebPart メソッドを呼び出してコントロールを作成し、次に AddWebPart メソッドを呼び出してそのコントロールを追加する必要があります。この方法については、「例」を参照してください。

使用例使用例

AddWebPart メソッドを使用して、プログラムでページにサーバー コントロールを追加する方法のコード例を次に示します。ページ マークアップには、空の <asp:webpartzone> 要素、および <asp:webpartmanager> 要素が含まれています。初めて [Add Calendar] をクリックすると、イベント ハンドラのコードが Calendar コントロールを作成し、それを GenericWebPart オブジェクトとしてゾーンに追加し、AddWebPart メソッドを呼び出します。

<%@ Page Language="vb" %>

<script runat="server">

  Protected Sub Button2_Click(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)
    Dim mgr As WebPartManager = WebPartManager1
    Dim cal As New Calendar()
    cal.ID = "cal1"
    Dim calWebPart As GenericWebPart = mgr.CreateWebPart(cal)
    mgr.AddWebPart(calWebPart, WebPartZone1, 1)
  End Sub

  Protected Sub Button1_Click(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)

    If WebPartZone1.WebParts.Count > 1 Then
      Dim cal As WebPart = WebPartZone1.WebParts(1)
      If cal.Controls(0).GetType().Name = "Calendar"
 AndAlso _
        cal IsNot Nothing Then
        WebPartManager1.DeleteWebPart(cal)
      End If
    End If
  End Sub
</script>

<html  >
<head id="Head1" runat="server">
    <title>Adding a Server Control</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="WebPartManager1"
 
        runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList  
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links">
            <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>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:Button ID="Button1" runat="server"
 
        Text="Delete Calendar" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server"
 
        Text="Add Calendar" 
        OnClick="Button2_Click" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>

<script runat="server">

  protected void Button2_Click(object sender,
 EventArgs e)
  {
    WebPartManager mgr = WebPartManager1;
    Calendar cal = new Calendar();
    cal.ID = "cal1";
    GenericWebPart calWebPart = mgr.CreateWebPart(cal);
    mgr.AddWebPart(calWebPart, WebPartZone1, 1);
  }

  protected void Button1_Click(object sender,
 EventArgs e)
  {
    if (WebPartZone1.WebParts.Count > 1)
    {
      WebPart cal = WebPartZone1.WebParts[1];
      if (cal.Controls[0].GetType().Name == "Calendar"
 
        && cal != null)
        WebPartManager1.DeleteWebPart(cal);
    }

  }
</script>

<html  >
<head runat="server">
    <title>Adding a Server Control</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="WebPartManager1" 
        runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList  
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links">
            <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>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Delete Calendar" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Add Calendar" 
        OnClick="Button2_Click" />
    </div>
    </form>
</body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WebPartManager クラス
WebPartManager メンバ
System.Web.UI.WebControls.WebParts 名前空間
CreateWebPart
その他の技術情報
ASP.NET Web パーツ ページ



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

WebPartManager.AddWebPart メソッドのお隣キーワード
検索ランキング

   

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



WebPartManager.AddWebPart メソッドのページの著作権

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

©2026 GRAS Group, Inc.RSS