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.
Entfernt dauerhaft eine dynamische Instanz eines WebPart Steuerelements 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
Im folgenden Codebeispiel wird die Verwendung der DeleteWebPart Methode veranschaulicht. Beim ersten Klicken auf die Schaltfläche " Kalender hinzufügen " erstellt der Code im Ereignishandler ein Calendar Steuerelement und fügt es einer Zone als GenericWebPart Objekt hinzu. Da das Steuerelement programmgesteuert hinzugefügt wird, handelt es sich um ein dynamisches Steuerelement und kann daher gelöscht werden. 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
Mit der DeleteWebPart Methode wird das durch den webPart Parameter dargestellte Steuerelement dauerhaft von einer Seite entfernt. Im Gegensatz zu einem geschlossenen Steuerelement, das dem PageCatalogPart Steuerelement hinzugefügt und wieder zur Seite hinzugefügt werden kann, kann eine gelöschte Steuerelementinstanz nie wieder zur Seite hinzugefügt werden.
Note
Wie vom Webpart-Steuerelementsatz implementiert, hängt die Möglichkeit für Benutzer zum Löschen eines dynamischen WebPart Steuerelements vom Benutzer und vom 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 programmgesteuert oder durch Hinzufügen von Steuerelementen aus einem Katalog zu einer Seite hinzugefügt. 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 niemals gelöscht werden, aber sie können geschlossen und erneut geöffnet werden.