WebPartManager.DeleteWebPart(WebPart) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Löscht eine dynamische Instanz eines WebPart-Steuerelements unwiderruflich von einer Webseite.
public:
void DeleteWebPart(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public void DeleteWebPart (System.Web.UI.WebControls.WebParts.WebPart webPart);
member this.DeleteWebPart : System.Web.UI.WebControls.WebParts.WebPart -> unit
Public Sub DeleteWebPart (webPart As WebPart)
Parameter
- webPart
- WebPart
Das zu löschende Serversteuerelement.
Beispiele
Das folgende Codebeispiel zeigt, wie Sie die DeleteWebPart-Methode verwenden. Wenn zum ersten Mal auf die Schaltfläche Kalender hinzufügen geklickt wird, erstellt der Code im Ereignishandler ein Calendar Steuerelement und fügt es einer Zone als Objekt hinzu GenericWebPart . Da das Steuerelement programmgesteuert hinzugefügt wird, handelt es sich um ein dynamisches Steuerelement, das daher gelöscht werden kann. Wenn ein Benutzer auf die Schaltfläche Kalender löschen klickt, stellt der Code sicher, dass das Steuerelement vorhanden ist, und löscht es dann durch Aufrufen der DeleteWebPart -Methode.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button2_Click(object sender, EventArgs e)
{
WebPartManager mgr = WebPartManager1;
Calendar cal = new Calendar();
cal.ID = "cal1";
GenericWebPart calWebPart = mgr.CreateWebPart(cal);
mgr.AddWebPart(calWebPart, WebPartZone1, 1);
}
protected void Button1_Click(object sender, EventArgs e)
{
if (WebPartZone1.WebParts.Count > 1)
{
WebPart cal = WebPartZone1.WebParts[1];
if (cal.Controls[0].GetType().Name == "Calendar"
&& cal != null)
WebPartManager1.DeleteWebPart(cal);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Adding a Server Control</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="WebPartManager1"
runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
DisplayMode="HyperLink"
ID="BulletedList1"
runat="server"
Title="My Links">
<asp:ListItem Value="http://www.microsoft.com">
Microsoft
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
<asp:ListItem Value="http://www.contoso.com">
Contoso Corp.
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:WebPartZone>
<asp:Button ID="Button1" runat="server"
Text="Delete Calendar"
OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server"
Text="Add Calendar"
OnClick="Button2_Click" />
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim mgr As WebPartManager = WebPartManager1
Dim cal As New Calendar()
cal.ID = "cal1"
Dim calWebPart As GenericWebPart = mgr.CreateWebPart(cal)
mgr.AddWebPart(calWebPart, WebPartZone1, 1)
End Sub
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
If WebPartZone1.WebParts.Count > 1 Then
Dim cal As WebPart = WebPartZone1.WebParts(1)
If cal.Controls(0).GetType().Name = "Calendar" AndAlso _
cal IsNot Nothing Then
WebPartManager1.DeleteWebPart(cal)
End If
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Adding a Server Control</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="WebPartManager1"
runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:BulletedList
DisplayMode="HyperLink"
ID="BulletedList1"
runat="server"
Title="My Links">
<asp:ListItem Value="http://www.microsoft.com">
Microsoft
</asp:ListItem>
<asp:ListItem Value="http://www.msn.com">
MSN
</asp:ListItem>
<asp:ListItem Value="http://www.contoso.com">
Contoso Corp.
</asp:ListItem>
</asp:BulletedList>
</ZoneTemplate>
</asp:WebPartZone>
<asp:Button ID="Button1" runat="server"
Text="Delete Calendar"
OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server"
Text="Add Calendar"
OnClick="Button2_Click" />
</div>
</form>
</body>
</html>
Hinweise
Die DeleteWebPart -Methode entfernt das durch den webPart
Parameter dargestellte Steuerelement dauerhaft von einer Seite. Im Gegensatz zu einem geschlossenen Steuerelement, das dem PageCatalogPart Steuerelement hinzugefügt wird und der Seite wieder hinzugefügt werden kann, kann eine gelöschte Steuerelementinstanz nie wieder der Seite hinzugefügt werden.
Hinweis
Wie vom Webparts-Steuerelementsatz implementiert, hängt die Möglichkeit für Benutzer, ein dynamisches WebPart Steuerelement zu löschen, vom Benutzer und dem Personalisierungsbereich ab, in dem das Steuerelement einer Seite hinzugefügt wurde. Wenn das Steuerelement hinzugefügt wird, wenn sich die Seite im freigegebenen Bereich befindet (von einem Benutzer mit Berechtigungen), kann das Steuerelement nicht von einzelnen Benutzern gelöscht werden, wenn sich die Seite im Benutzerbereich befindet.
Nur dynamische Steuerelemente können gelöscht werden. Dynamische Steuerelemente werden einer Seite programmgesteuert oder durch Benutzer hinzugefügt, die Steuerelemente aus einem Katalog hinzufügen. Statische Steuerelemente werden einer Seite deklarativ im Markup- oder Persistenzformat hinzugefügt. Da die deklarativen Tags dauerhaft im Markup vorhanden sind, können statische Steuerelemente nie gelöscht, aber geschlossen und erneut geöffnet werden.