WebPartManager.DeleteWarning プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > WebPartManager.DeleteWarning プロパティの意味・解説 

WebPartManager.DeleteWarning プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

エンド ユーザーがコントロールを削除したときにそのユーザーに対して表示するカスタム警告メッセージを取得または設定します。

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

Public Overridable Property
 DeleteWarning As String
Dim instance As WebPartManager
Dim value As String

value = instance.DeleteWarning

instance.DeleteWarning = value
public virtual string DeleteWarning { get;
 set; }
/** @property */
public String get_DeleteWarning ()

/** @property */
public void set_DeleteWarning (String value)
public function get DeleteWarning
 () : String

public function set DeleteWarning
 (value : String)

プロパティ値
警告メッセージのテキストが含まれる文字列。既定値は、ローカライズされた警告メッセージです。

解説解説

ユーザーが WebPart コントロールを削除すると、通常は既定の警告メッセージが表示されます。これは、このコントロール インスタンスを削除すると完全に削除されることをユーザーに警告します。ページの開発者は、そのコントロールの新しいインスタンスをページに追加する方法 (WebPart コントロールのカタログを使用する方法、何らかのプログラム的な方法など) をユーザーに提供できますが、削除対象となるコントロールの現在のインスタンスは完全に削除されます。警告が表示されるダイアログ ボックスには、必要に応じてユーザーが削除をキャンセルするためのボタンが含まれています。

DeleteWarning プロパティを使用すると、開発者はユーザーに表示する警告メッセージを設定できます。

ページの開発者がこのプロパティに空の文字列値 ("") を割り当てると、ユーザーが WebPart コントロールを削除するときに警告メッセージのダイアログ ボックスは表示されません。

メモメモ

静的な WebPart コントロールおよびサーバー コントロールの場合、DeleteWarning プロパティは表示されません。スタティック コントロールは、Web ページのマークアップにある WebPartZoneBase ゾーン内に宣言されたサーバー コントロールです。これらのコントロールは静的で削除できないため、この場合は削除の警告メッセージが表示されません。ユーザーはスタティック コントロールを終了できますが、終了したコントロールはページ カタログに追加され、ここからページに戻すことができます。一方、削除したコントロールは復元できません。

使用例使用例

DeleteWarning プロパティの使用方法を次のコード例に示します。宣言を使用した方法とプログラムを使用した方法の 2 とおりの方法を紹介します。

このコード例は 4 つの部分で構成されます。

コード例の最初の部分は、表示モードを変更するユーザー コントロールです。このユーザー コントロールのソース コードは、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] というラベルのボタンをクリックすると、プログラムによりプロパティ値が変更されます。コントロールの動詞メニューから、もう一度 [削除] を選択すると、今度は別の警告メッセージが表示されます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WebPartManager クラス
WebPartManager メンバ
System.Web.UI.WebControls.WebParts 名前空間
DeleteWebPart
その他の技術情報
ASP.NET Web パーツ ページ



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

WebPartManager.DeleteWarning プロパティのお隣キーワード
検索ランキング

   

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



WebPartManager.DeleteWarning プロパティのページの著作権

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

©2026 GRAS Group, Inc.RSS