WebPartManager.DeleteWebPart(WebPart) Methode

Definitie

Hiermee verwijdert u een dynamisch exemplaar van een WebPart besturingselement definitief van een webpagina.

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)

Parameters

webPart
WebPart

Het serverbeheer dat moet worden verwijderd.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de DeleteWebPart methode gebruikt. De eerste keer dat op de knop Agenda toevoegen wordt geklikt, wordt met de code in de gebeurtenis-handler een Calendar besturingselement gemaakt en toegevoegd aan een zone als object GenericWebPart . Omdat het besturingselement programmatisch wordt toegevoegd, is het een dynamisch besturingselement en kan het daarom worden verwijderd. Wanneer een gebruiker op de knop Agenda verwijderen klikt, zorgt de code ervoor dat het besturingselement bestaat en verwijdert het vervolgens door de DeleteWebPart methode aan te roepen.

<%@ 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>

Opmerkingen

Met DeleteWebPart de methode wordt het besturingselement dat wordt vertegenwoordigd door de webPart parameter definitief van een pagina verwijderd. In tegenstelling tot een gesloten besturingselement, dat aan het PageCatalogPart besturingselement wordt toegevoegd en weer aan de pagina kan worden toegevoegd, kan een verwijderd besturingselementexemplaren nooit meer worden toegevoegd aan de pagina.

Note

Zoals geïmplementeerd door de set webonderdelen, is de mogelijkheid voor gebruikers om een dynamisch WebPart besturingselement te verwijderen afhankelijk van de gebruiker en het persoonlijke bereik waarin het besturingselement is toegevoegd aan een pagina. Als het besturingselement wordt toegevoegd wanneer de pagina zich in het gedeelde bereik bevindt (door een gebruiker met machtigingen), kan het besturingselement niet worden verwijderd door afzonderlijke gebruikers wanneer de pagina binnen het gebruikersbereik valt.

Alleen dynamische besturingselementen kunnen worden verwijderd. Dynamische besturingselementen worden programmatisch aan een pagina toegevoegd of door gebruikers besturingselementen uit een catalogus toe te voegen. Statische besturingselementen worden declaratief aan een pagina toegevoegd in de opmaak voor markeringen of persistentie. Omdat de declaratieve tags permanent aanwezig zijn in de markering, kunnen statische besturingselementen nooit worden verwijderd, maar kunnen ze wel worden gesloten en opnieuw worden geopend.

Van toepassing op

Zie ook