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

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

WebPartManager.CreateWebPart メソッド

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

GenericWebPart オブジェクトを持った WebPart コントロール以外のサーバー コントロールが Web パーツ機能を備えることができるように、そのコントロールをラップします。

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

Public Overridable Function
 CreateWebPart ( _
    control As Control _
) As GenericWebPart
Dim instance As WebPartManager
Dim control As Control
Dim returnValue As GenericWebPart

returnValue = instance.CreateWebPart(control)
public virtual GenericWebPart CreateWebPart (
    Control control
)
public:
virtual GenericWebPart^ CreateWebPart (
    Control^ control
)
public GenericWebPart CreateWebPart (
    Control control
)
public function CreateWebPart (
    control : Control
) : GenericWebPart

パラメータ

control

WebPart コントロール以外のサーバー コントロール。

戻り値
control をラップし、真の WebPart コントロールとして機能できる GenericWebPart。

解説解説

CreateWebPart メソッドは、WebPart コントロール以外のサーバー コントロールに WebPart コントロールと同じ機能を提供し、Web パーツ アプリケーションで完全に動作できるようにするための中心的なしくみです。このメソッドを使用することにより、標準 ASP.NET コントロール、ユーザー コントロール、およびカスタム コントロールという、事実上すべての種類のサーバー コントロールを使用できるため、開発者が Web パーツ アプリケーションで使用できるサーバー コントロールの数が大幅に増加します。

WebPartManager コントロールも、次の 2 つの場合に、このメソッドを使用して GenericWebPart オブジェクトでサーバー コントロールをラップします。ユーザーが ImportCatalogPart コントロールを使用してページにサーバー コントロールを追加するときに、インポートしたコントロールが WebPart コントロールでない場合、CreateWebPart メソッドを呼び出します。また、サーバー コントロールが、Web ページ上の WebPartZoneBase ゾーン内に永続形式で宣言されている場合、WebPart コントロール以外のすべてのコントロールに対して CreateWebPart メソッドを呼び出します。

プログラムでサーバー コントロールをゾーンに追加する場合の代表的な方法では、CreateWebPart メソッドを使用して GenericWebPart オブジェクトでコントロールをラップします。次に、AddWebPart メソッドを呼び出し、WebParts プロパティで参照される、ページ上のすべての WebPart コントロールのコレクションにそのコントロールを追加します。

継承時の注意 このメソッドをオーバーライドすると、Web パーツ コントロール セットに提供される基本クラスの代わりに、GenericWebPart 派生クラスを使用できます。

使用例使用例

CreateWebPart メソッドを使用するコード例を次に示します。Button2_Click method で CreateWebPart メソッドを呼び出し、Calendar コントロールをゾーンに追加する前にそれを GenericWebPart オブジェクトでラップします。

<%@ 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 名前空間
AddWebPart
その他の技術情報
ASP.NET Web パーツ ページ


このページでは「.NET Framework クラス ライブラリ リファレンス」からWebPartManager.CreateWebPart メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からWebPartManager.CreateWebPart メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からWebPartManager.CreateWebPart メソッド を検索

英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2026 GRAS Group, Inc.RSS