WebPartManager.DeleteWarning プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As WebPartManager Dim value As String value = instance.DeleteWarning instance.DeleteWarning = value
/** @property */ public String get_DeleteWarning () /** @property */ public void set_DeleteWarning (String value)
警告メッセージのテキストが含まれる文字列。既定値は、ローカライズされた警告メッセージです。

ユーザーが WebPart コントロールを削除すると、通常は既定の警告メッセージが表示されます。これは、このコントロール インスタンスを削除すると完全に削除されることをユーザーに警告します。ページの開発者は、そのコントロールの新しいインスタンスをページに追加する方法 (WebPart コントロールのカタログを使用する方法、何らかのプログラム的な方法など) をユーザーに提供できますが、削除対象となるコントロールの現在のインスタンスは完全に削除されます。警告が表示されるダイアログ ボックスには、必要に応じてユーザーが削除をキャンセルするためのボタンが含まれています。
DeleteWarning プロパティを使用すると、開発者はユーザーに表示する警告メッセージを設定できます。
ページの開発者がこのプロパティに空の文字列値 ("") を割り当てると、ユーザーが WebPart コントロールを削除するときに警告メッセージのダイアログ ボックスは表示されません。
![]() |
---|
静的な WebPart コントロールおよびサーバー コントロールの場合、DeleteWarning プロパティは表示されません。スタティック コントロールは、Web ページのマークアップにある WebPartZoneBase ゾーン内に宣言されたサーバー コントロールです。これらのコントロールは静的で削除できないため、この場合は削除の警告メッセージが表示されません。ユーザーはスタティック コントロールを終了できますが、終了したコントロールはページ カタログに追加され、ここからページに戻すことができます。一方、削除したコントロールは復元できません。 |

DeleteWarning プロパティの使用方法を次のコード例に示します。宣言を使用した方法とプログラムを使用した方法の 2 とおりの方法を紹介します。
コード例の最初の部分は、表示モードを変更するユーザー コントロールです。このユーザー コントロールのソース コードは、WebPartManager クラスの概要の「例」から取得できます。表示モードの詳細およびユーザー コントロールの動作方法の詳細については、「チュートリアル : Web パーツ ページでの表示モードの変更」を参照してください。
コード例の 2 番目の部分はカスタム WebPart コントロールです。コード例を実行するためには、このソース コードをコンパイルする必要があります。それを明示的にコンパイルし、コンパイル済みのアセンブリを Web サイトの Bin フォルダまたはグローバル アセンブリ キャッシュに配置できます。サイトの App_Code フォルダにソース コードを配置し、実行時に動的にコンパイルすることもできます。この例では、動的コンパイルの方法を使用します。このため、Web ページの先頭にあるこのコントロール用の Register ディレクティブに Assembly 属性はありません。コンパイル方法を示すチュートリアルについては、「チュートリアル : カスタム サーバー コントロールの開発と使用」を参照してください。
Imports System Imports System.Collections Imports System.ComponentModel Imports System.Drawing Imports System.Security.Permissions Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts Namespace Samples.AspNet.VB.Controls <AspNetHostingPermission(SecurityAction.Demand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ <AspNetHostingPermission(SecurityAction.InheritanceDemand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ Public Class TextDisplayWebPart Inherits WebPart Private _contentText As String = Nothing Private _fontStyle As String = Nothing Private input As TextBox Private DisplayContent As Label Private lineBreak As Literal <Personalizable(), WebBrowsable()> _ Public Property ContentText() As String Get Return _contentText End Get Set(ByVal value As String) _contentText = value End Set End Property Protected Overrides Sub CreateChildControls() Controls.Clear() DisplayContent = New Label() DisplayContent.BackColor = Color.LightBlue DisplayContent.Text = Me.ContentText Me.Controls.Add(DisplayContent) lineBreak = New Literal() lineBreak.Text = "<br />" Controls.Add(lineBreak) input = New TextBox() Me.Controls.Add(input) Dim update As New Button() update.Text = "Set Label Content" AddHandler update.Click, AddressOf Me.submit_Click Me.Controls.Add(update) End Sub Private Sub submit_Click(ByVal sender As Object, _ ByVal e As EventArgs) ' Update the label string. If input.Text <> String.Empty Then _contentText = input.Text + "<br />" input.Text = String.Empty DisplayContent.Text = Me.ContentText End If End Sub End Class End Namespace
using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Security.Permissions; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; namespace Samples.AspNet.CS.Controls { [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] public class TextDisplayWebPart : WebPart { private String _contentText = null; TextBox input; Label DisplayContent; Literal lineBreak; [Personalizable(), WebBrowsable] public String ContentText { get { return _contentText; } set { _contentText = value; } } protected override void CreateChildControls() { Controls.Clear(); DisplayContent = new Label(); DisplayContent.BackColor = Color.LightBlue; DisplayContent.Text = this.ContentText; this.Controls.Add(DisplayContent); lineBreak = new Literal(); lineBreak.Text = @"<br />"; Controls.Add(lineBreak); input = new TextBox(); this.Controls.Add(input); Button update = new Button(); update.Text = "Set Label Content"; update.Click += new EventHandler(this.submit_Click); this.Controls.Add(update); } private void submit_Click(object sender, EventArgs e) { // Update the label string. if (input.Text != String.Empty) { _contentText = input.Text + @"<br />"; input.Text = String.Empty; DisplayContent.Text = this.ContentText; } } } }
コード例の 3 番目の部分は Web ページです。このページには CatalogZone ゾーンが含まれ、このゾーン内にカスタム WebPart コントロールが宣言されています。このため、ユーザーは、実行時にこれをページに追加できます。ダイナミック コントロール (プログラムを使用するかまたはこのようなカタログからページに追加されたコントロール) は、ページから削除できます。スタティック コントロール (ページのマークアップにある WebPartZoneBase ゾーン内に宣言されたコントロール) は終了できますが、削除できません。<asp:webpartmanager> 要素は、DeleteWarning 属性を使用して DeleteWarning プロパティのカスタム値を宣言します。Button1_Click メソッドは、DeleteWarning プロパティに別のカスタム値を割り当てます。
<%@ Page Language="vb" %> <%@ Register TagPrefix="uc1" TagName="DisplayModeMenuVB" Src="~/DisplayModeMenuVB.ascx" %> <%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls"%> <script runat="server"> Private Const NewWarning As String = "If you delete this WebPart " & _ "control instance, it will be permanently removed and " & _ "cannot be retrieved. Do you still want to delete it?" Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) mgr1.DeleteWarning = NewWarning End Sub Protected Sub Page_Load(ByVal sender As Object, _ ByVal e As EventArgs) If WebPartZone1.WebParts.Count = 0 Then Button1.Visible = False Else Button1.Visible = True End If End Sub </script> <html > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <asp:WebPartManager ID="mgr1" runat="server" DeleteWarning="Do you want to delete this control?" /> <uc1:DisplayModeMenuVB ID="menu1" runat="server" /> <h2>Delete Warning Example Page</h2> <asp:WebPartZone ID="WebPartZone1" runat="server" /> <asp:CatalogZone ID="CatalogZone1" runat="server"> <ZoneTemplate> <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" runat="server"> <WebPartsTemplate> <aspSample:TextDisplayWebPart ID="text1" runat="server" Title="My Text WebPart" /> </WebPartsTemplate> </asp:DeclarativeCatalogPart> </ZoneTemplate> </asp:CatalogZone> <asp:Button ID="Button1" runat="server" Text="Change Delete Warning" OnClick="Button1_Click" /> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Register TagPrefix="uc1" TagName="DisplayModeMenuCS" Src="~/DisplayModeMenuCS.ascx" %> <%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls"%> <script runat="server"> const String NewWarning = @"If you delete this WebPart " + "control instance, it will be permanently removed and " + "cannot be retrieved. Do you still want to delete it?"; protected void Button1_Click(object sender, EventArgs e) { mgr1.DeleteWarning = NewWarning; } // Hide the button to change the property when there is // no control available to delete. protected void Page_Load(object sender, EventArgs e) { if (WebPartZone1.WebParts.Count == 0) Button1.Visible = false; else Button1.Visible = true; } </script> <html > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <asp:WebPartManager ID="mgr1" runat="server" DeleteWarning="Do you want to delete this control?" /> <uc1:DisplayModeMenuCS ID="menu1" runat="server" /> <h2>Delete Warning Example Page</h2> <asp:WebPartZone ID="WebPartZone1" runat="server" /> <asp:CatalogZone ID="CatalogZone1" runat="server"> <ZoneTemplate> <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" runat="server"> <WebPartsTemplate> <aspSample:TextDisplayWebPart ID="text1" runat="server" Title="My Text WebPart" /> </WebPartsTemplate> </asp:DeclarativeCatalogPart> </ZoneTemplate> </asp:CatalogZone> <asp:Button ID="Button1" runat="server" Text="Change Delete Warning" OnClick="Button1_Click" /> </form> </body> </html>
ブラウザにページを読み込んだ後、ページに WebPart コントロールを追加する必要があります。[Display Mode] ドロップダウン リスト コントロールを使用して、カタログ モードを選択します。カタログが表示されたら、カスタム コントロールの横のチェック ボックスをオンにし、[追加] をクリックしてそれをページに追加します。次に [閉じる] をクリックしてページをブラウズ モードに戻します。これでコントロールが表示されるようになり、それを削除できます。もう一度 [Display Mode] コントロールを使用して、ページをデザイン モードに切り替えます (ページがブラウズ モードにある間はコントロールを削除できません)。WebPart コントロールのヘッダーにある動詞メニュー (矢印記号) をクリックし、[削除] を選択します。DeleteWarning 属性に設定した警告が表示されます。[キャンセル] をクリックします。ここで [Change Delete Warning] というラベルのボタンをクリックすると、プログラムによりプロパティ値が変更されます。コントロールの動詞メニューから、もう一度 [削除] を選択すると、今度は別の警告メッセージが表示されます。

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.DeleteWarning プロパティを検索する場合は、下記のリンクをクリックしてください。

- WebPartManager.DeleteWarning プロパティのページへのリンク