WebPartManager.DeleteWarning Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett anpassat varningsmeddelande som visas för slutanvändare när de tar bort en kontroll.
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
Egenskapsvärde
En sträng som innehåller texten i varningsmeddelandet. Standardvärdet är ett lokaliserat varningsmeddelande.
Exempel
Följande kodexempel visar användningen av DeleteWarning egenskapen deklarativt och programmatiskt.
Kodexemplet har fyra delar:
En användarkontroll som gör att du kan ändra sidvisningslägen.
En anpassad WebPart kontroll.
En webbsida.
En förklaring av hur exemplet fungerar i en webbläsare.
Den första delen av kodexemplet är användarkontrollen för att ändra visningslägen. Du kan hämta källkoden för användarkontrollen från avsnittet Exempel i klassöversikten WebPartManager . Mer information om visningslägen och hur användarkontrollen fungerar finns i Genomgång: Ändra visningslägen på en webbsida.
Den andra delen av kodexemplet är den anpassade WebPart kontrollen. För att kodexemplet ska köras måste du kompilera den här källkoden. Du kan kompilera den explicit och placera den resulterande sammansättningen i webbplatsens bin-mapp eller den globala sammansättningscacheminnet. Du kan också placera källkoden i webbplatsens App_Code mapp, där den kompileras dynamiskt vid körning. I det här exemplet används metoden för dynamisk kompilering. därför finns det inget Assembly attribut i direktivet för den Register här kontrollen överst på webbsidan. En genomgång som visar hur du kompilerar finns i Genomgång: Utveckla och använda en anpassad webbserverkontroll.
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
Den tredje delen av kodexemplet är webbsidan. Sidan innehåller en CatalogZone zon med den anpassade WebPart kontrollen deklarerad i zonen, så att en användare kan lägga till den på sidan vid körning. Observera att endast dynamiska kontroller (kontroller som läggs till på en sida programmässigt eller från en katalog som den här) kan tas bort från en sida. Statiska kontroller (kontroller som deklareras i en WebPartZoneBase zon i markering av en sida) kan stängas, men aldrig tas bort. Elementet <asp:webpartmanager> deklarerar ett anpassat värde för DeleteWarning egenskapen med hjälp av attributet DeleteWarning . Metoden Button1_Click tilldelar egenskapen ett annat anpassat värde 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>
När du har läst in sidan i en webbläsare måste du lägga WebPart till kontrollen på sidan. Med listrutan Visningsläge väljer du katalogläge. När katalogen visas markerar du kryssrutan bredvid den anpassade kontrollen, klickar på Lägg till för att lägga till den på sidan och klickar sedan på Stäng för att returnera sidan för att bläddra. Nu när kontrollen är synlig kan du ta bort den. Använd kontrollen Visningsläge igen och växla sidan till designläge (du kan inte ta bort kontroller när sidan är i b bläddra-läge). Klicka på verbmenyn (pilsymbolen) i kontrollens WebPart rubrik och välj Ta bort. Varningen som du anger för DeleteWarning attributet visas. Klicka på Avbryt. Klicka nu på knappen Ändra borttagningsvarning, som ändrar egenskapsvärdet programmatiskt. I verbmenyn på kontrollen väljer du Ta bort igen och märker att den här gången visas det andra varningsmeddelandet.
Kommentarer
När en användare tar bort en WebPart kontroll visas normalt ett standardvarningsmeddelande. Den varnar användaren om att borttagningen är permanent när den här instansen av en kontroll tas bort. Sidutvecklaren kan ge användarna ett sätt att lägga till en ny instans av kontrollen på sidan (till exempel via en katalog med WebPart kontroller eller via vissa programmatiska metoder), men den aktuella instansen av en kontroll som tas bort tas bort permanent. Dialogrutan som visar varningen innehåller en knapp där användaren kan avbryta borttagningen om så önskas.
Egenskapen DeleteWarning gör det möjligt för utvecklare att ange varningsmeddelandet som visas för användaren.
Om en sidutvecklare tilldelar en tom sträng ("") värde till den här egenskapen visas ingen varningsdialogruta när en användare tar bort en WebPart kontroll.
Note
Egenskapen DeleteWarning visas inte när det gäller statiska WebPart kontroller och serverkontroller. Statiska kontroller är serverkontroller som deklareras i en WebPartZoneBase zon i markering av en webbsida. Eftersom sådana kontroller är statiska kan de inte tas bort, så varningsmeddelandet om borttagning visas aldrig i så fall. Statiska kontroller kan stängas av en användare, men en stängd kontroll läggs till i sidkatalogen, från vilken den kan läggas tillbaka till sidan av en användare, medan en borttagen kontroll aldrig kan återställas.