Sdílet prostřednictvím


WebPartManager.DeleteWarning Vlastnost

Definice

Získá nebo nastaví vlastní zprávu upozornění, která se zobrazí koncovým uživatelům při odstranění ovládacího prvku.

public:
 virtual property System::String ^ DeleteWarning { System::String ^ get(); void set(System::String ^ value); };
public virtual string DeleteWarning { get; set; }
member this.DeleteWarning : string with get, set
Public Overridable Property DeleteWarning As String

Hodnota vlastnosti

Řetězec, který obsahuje text varovné zprávy. Výchozí hodnota je lokalizovaná zpráva upozornění.

Příklady

Následující příklad kódu ukazuje použití DeleteWarning vlastnosti deklarativně a programově.

Příklad kódu má čtyři části:

  • Uživatelský ovládací prvek, který umožňuje změnit režimy zobrazení stránky.

  • Vlastní WebPart ovládací prvek.

  • Webová stránka.

  • Vysvětlení fungování příkladu v prohlížeči

První část příkladu kódu je uživatelský ovládací prvek pro změnu režimů zobrazení. Zdrojový kód pro uživatelský ovládací prvek můžete získat v části Příklad přehledu WebPartManager třídy. Další informace o režimech zobrazení a o tom, jak funguje uživatelský ovládací prvek, naleznete v tématu Návod: Změna režimů zobrazení na stránce webových částí.

Druhou částí příkladu kódu je vlastní WebPart ovládací prvek. Aby se příklad kódu spustil, musíte tento zdrojový kód zkompilovat. Můžete ho explicitně zkompilovat a vložit výsledné sestavení do složky Bin webu nebo globální mezipaměti sestavení (GPA). Případně můžete zdrojový kód umístit do složky App_Code webu, kde se bude dynamicky kompilovat za běhu. Tento příklad používá přístup dynamické kompilace; Proto není v direktivě Register pro tento ovládací prvek v horní části webové stránky žádný Assembly atribut. Návod, který ukazuje, jak kompilovat, najdete v tématu Návod: Vývoj a použití vlastního ovládacího prvku webového serveru.

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 (!string.IsNullOrEmpty(input.Text))
      {
        _contentText = input.Text + @"<br />";
        input.Text = String.Empty;
        DisplayContent.Text = this.ContentText;
      }
    }
  }
}
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

Třetí částí příkladu kódu je webová stránka. Stránka obsahuje zónu CatalogZone s vlastním WebPart ovládacím prvku deklarovaným v zóně, aby ho uživatel mohl přidat na stránku za běhu. Všimněte si, že ze stránky lze odstranit pouze dynamické ovládací prvky (ovládací prvky, které jsou na stránku přidány programově nebo z katalogu, jako je tento). Statické ovládací prvky (ovládací prvky, které jsou deklarovány v rámci WebPartZoneBase zóny ve značkách stránky) lze zavřít, ale nikdy je neodstranit. Element <asp:webpartmanager> deklaruje vlastní hodnotu vlastnosti DeleteWarning pomocí atributu DeleteWarning . Metoda Button1_Click přiřadí další vlastní hodnotu vlastnosti DeleteWarning .

<%@ Page Language="C#" %>
<%@ Register TagPrefix="uc1" 
    TagName="DisplayModeMenuCS"
    Src="~/DisplayModeMenuCS.ascx" %>
<%@ Register TagPrefix="aspSample" 
    Namespace="Samples.AspNet.CS.Controls"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
<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>
<%@ Page Language="vb" %>
<%@ Register TagPrefix="uc1" 
    TagName="DisplayModeMenuVB"
    Src="~/DisplayModeMenuVB.ascx" %>
<%@ Register TagPrefix="aspSample" 
    Namespace="Samples.AspNet.VB.Controls"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
<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>

Po načtení stránky v prohlížeči musíte na stránku přidat WebPart ovládací prvek. Pomocí ovládacího prvku rozevíracího seznamu Režim zobrazení vyberte režim katalogu. Jakmile se katalog zobrazí, zaškrtněte políčko vedle vlastního ovládacího prvku, kliknutím na Přidat ho přidejte na stránku a potom kliknutím na Zavřít vraťte stránku do režimu procházení. Teď, když je ovládací prvek viditelný, můžete ho odstranit. Při opětovném použití ovládacího prvku Režim zobrazení přepněte stránku do režimu návrhu (ovládací prvky nelze odstranit, když je stránka v režimu procházení). Klikněte na nabídku sloves (symbol šipky) v záhlaví WebPart ovládacího prvku a vyberte Odstranit. Zobrazí se upozornění, které jste nastavili u atributu DeleteWarning . Klikněte na Zrušit. Teď klikněte na tlačítko s názvem Změnit upozornění na odstranění, které programově změní hodnotu vlastnosti. V nabídce sloves v ovládacím prvku znovu vyberte Odstranit a všimněte si, že se tentokrát zobrazí další zpráva upozornění.

Poznámky

Když uživatel odstraní WebPart ovládací prvek, obvykle se zobrazí výchozí zpráva upozornění. Upozorní uživatele, že při odstranění této instance ovládacího prvku je odstranění trvalé. Vývojář stránky může uživatelům poskytnout způsob, jak na stránku přidat novou instanci ovládacího prvku (například prostřednictvím katalogu ovládacích WebPart prvků nebo některými programovými prostředky), ale aktuální instance ovládacího prvku, který je odstraněn, se trvale odebere. Dialogové okno, které zobrazuje upozornění, obsahuje tlačítko, kterým může uživatel v případě potřeby odstranění zrušit.

Vlastnost DeleteWarning umožňuje vývojářům nastavit zprávu upozornění, která se zobrazí uživateli.

Pokud vývojář stránky přiřadí této vlastnosti hodnotu prázdného řetězce (""), nezobrazí se při odstranění WebPart ovládacího prvku žádné dialogové okno se zprávou upozornění.

Poznámka

Vlastnost DeleteWarning se nezobrazuje v případě statických WebPart a serverových ovládacích prvků. Statické ovládací prvky jsou serverové ovládací prvky, které jsou deklarovány v rámci WebPartZoneBase zóny ve značkách webové stránky. Vzhledem k tomu, že jsou tyto ovládací prvky statické, nelze je odstranit, takže se v takovém případě nikdy nezobrazí zpráva s upozorněním na odstranění. Statické ovládací prvky může uživatel zavřít, ale zavřený ovládací prvek je přidán do katalogu stránek, ze kterého ho může uživatel přidat zpět na stránku, zatímco odstraněný ovládací prvek nelze nikdy obnovit.

Platí pro

Viz také