Sdílet prostřednictvím


WebPartManager.DeleteWarning Vlastnost

Definice

Získá nebo nastaví vlastní zprávu upozornění zobrazenou 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 zprávy upozornění. Výchozí hodnota je lokalizovaná zpráva upozornění.

Příklady

Následující příklad kódu ukazuje použití DeleteWarning vlastnosti deklarativním a programovým způsobem.

Příklad kódu obsahuje č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 způsobu fungování uživatelského ovládacího prvku 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. Pro spuštění příkladu kódu je nutné zkompilovat tento zdrojový kód. Můžete jej explicitně zkompilovat a výsledné sestavení umístit do složky Bin vašeho webu nebo globální mezipaměti sestavení. 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í Assembly v direktivě Register pro tento ovládací prvek v horní části webové stránky žádný atribut. Návod, který ukazuje, jak se zkompilovat, naleznete v části 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 přidané na stránku prostřednictvím kódu programu nebo z katalogu, jako je tento). Statické ovládací prvky (ovládací prvky deklarované v WebPartZoneBase zóně v kódu 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í vlastnosti DeleteWarning další vlastní hodnotu.

<%@ 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 ovládací prvek přidat WebPart na stránku. Pomocí ovládacího prvku rozevíracího seznamu Režim zobrazení vyberte režim katalogu. Jakmile se zobrazí katalog, zaškrtněte políčko vedle vlastního ovládacího prvku, kliknutím na přidat ho na stránku a potom kliknutím na tlačítko Zavřít stránku vraťte do režimu procházení. Teď, když je ovládací prvek viditelný, můžete ho odstranit. Pomocí ovládacího prvku Režim zobrazení znovu 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 . Klepněte na možnost Zrušit. Teď klikněte na tlačítko s popiskem Změnit upozornění na odstranění, které změní hodnotu vlastnosti programově. V nabídce sloves v ovládacím prvku znovu vyberte Odstranit a všimněte si, že tentokrát se zobrazí druhá 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 když je tato instance ovládacího prvku odstraněna, odstranění je 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 prostřednictvím některých programových prostředků), ale aktuální instance odstraněného ovládacího prvku se trvale odebere. Dialogové okno, ve které se zobrazí upozornění, obsahuje tlačítko pro zrušení odstranění uživatele, pokud je to žádoucí.

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

Pokud vývojář stránky přiřadí této vlastnosti prázdnou hodnotu řetězce (""), nezobrazí se dialogové okno s upozorněním, když uživatel odstraní WebPart ovládací prvek.

Poznámka:

Vlastnost DeleteWarning se nezobrazuje v případě statických WebPart ovládacích prvků a serverových ovládacích prvků. Statické ovládací prvky jsou serverové ovládací prvky deklarované v WebPartZoneBase zóně v kódu webové stránky. Vzhledem k tomu, že jsou takové ovládací prvky statické, nelze je odstranit, takže v takovém případě se nikdy nezobrazí zpráva upozornění na odstranění. Statické ovládací prvky můžou uživatel zavřít, ale zavřený ovládací prvek se přidá 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 se nedá obnovit.

Platí pro

Viz také