WebPartManager.CreateWebPart メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim instance As WebPartManager Dim control As Control Dim returnValue As GenericWebPart returnValue = instance.CreateWebPart(control)
戻り値
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>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からWebPartManager.CreateWebPart メソッドを検索する場合は、下記のリンクをクリックしてください。

- WebPartManager.CreateWebPart メソッドのページへのリンク