WebPartManager.DeleteWarning Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.