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í, 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.