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


DeleteWebPart メソッドは、webPart パラメータで表されたコントロールをページから完全に削除します。PageCatalogPart コントロールに追加し、後でページに戻すことができるコントロールの終了とは異なり、削除されたコントロールのインスタンスはページに戻すことができません。
![]() |
---|
動的な WebPart コントロールは Web パーツ コントロール セットによって実装されているため、ユーザーがこれを削除できるかどうかは、ページにそのコントロールを追加したときのユーザーとパーソナル化スコープに応じて異なります。ページが共有スコープにあるときにアクセス許可を持ったユーザーがコントロールを追加した場合、ページがユーザー スコープにあるときに個別のユーザーがそのコントロールを削除することはできません。 |
削除できるのはダイナミック コントロールだけです。ダイナミック コントロールは、プログラムでページに追加するか、またはユーザーがカタログから追加します。スタティック コントロールは、マークアップのページ宣言または永続形式でページに追加します。宣言タグはマークアップに永続的に存在するため、スタティック コントロールは削除できませんが、これらを閉じて再び開くことはできます。

DeleteWebPart メソッドを使用する方法を次のコード例に示します。最初に [Add Calendar] をクリックしたときに、イベント ハンドラのコードが Calendar コントロールを作成し、それを GenericWebPart オブジェクトとしてゾーンに追加します。このコントロールはプログラムで追加されるダイナミック コントロールであるため、これを削除できます。ユーザーが [Delete Calendar] をクリックすると、このコードはコントロールが存在することを確認してから、DeleteWebPart メソッドを呼び出してこのコントロールを削除します。
<%@ 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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