WebPartManager.DeleteWebPart(WebPart) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Remove permanentemente uma instância dinâmica de um WebPart controlo de uma página Web.
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)
Parâmetros
- webPart
- WebPart
O controlo do servidor deve ser eliminado.
Exemplos
O exemplo de código seguinte demonstra como usar o DeleteWebPart método. Na primeira vez que o botão Adicionar Calendário é clicado, o código no gestor de eventos cria um Calendar controlo e adiciona-o a uma zona como objeto GenericWebPart . Como o controlo é adicionado programaticamente, é um controlo dinâmico e, por isso, pode ser eliminado. Quando um utilizador clica no botão Apagar Calendário , o código assegura que o controlo existe e depois elimina-o chamando o DeleteWebPart método.
<%@ 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>
Observações
O DeleteWebPart método remove permanentemente o controlo representado pelo webPart parâmetro de uma página. Ao contrário de um controlo fechado, que é adicionado ao PageCatalogPart controlo e pode ser adicionado novamente à página, uma instância de controlo eliminada nunca pode ser adicionada novamente à página.
Note
Conforme implementado pelo conjunto de controlos Web Parts, a capacidade dos utilizadores de eliminar um controlo dinâmico WebPart depende do utilizador e do âmbito de personalização em que o controlo foi adicionado a uma página. Se o controlo for adicionado quando a página está em âmbito partilhado (por um utilizador com permissões), então o controlo não pode ser eliminado por utilizadores individuais quando a página está dentro do âmbito do utilizador.
Apenas os controlos dinâmicos podem ser eliminados. Controlos dinâmicos são adicionados a uma página de forma programática ou pelos utilizadores que adicionam controlos a partir de um catálogo. Controlos estáticos são adicionados a uma página de forma declarativa no formato de marcação ou persistência. Como as etiquetas declarativas estão permanentemente presentes na marcação, os controlos estáticos nunca podem ser eliminados, mas podem ser fechados e reabertos.