WebPartManager.DeleteWebPart(WebPart) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Trvale odebere dynamickou WebPart instanci ovládacího prvku z webové stránky.
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)
Parametry
- webPart
- WebPart
Serverový ovládací prvek, který se má odstranit.
Příklady
Následující příklad kódu ukazuje, jak použít metodu DeleteWebPart . Při prvním kliknutí na tlačítko Přidat kalendář vytvoří kód v obslužné rutině události ovládací prvek Calendar a přidá ho do zóny jako GenericWebPart objekt. Protože se ovládací prvek přidává programově, jedná se o dynamický ovládací prvek, a proto ho můžete odstranit. Když uživatel klikne na tlačítko Odstranit kalendář , kód zajistí, že ovládací prvek existuje, a pak ho DeleteWebPart odstraní voláním metody .
<%@ 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>
Poznámky
Metoda DeleteWebPart trvale odebere ovládací prvek reprezentovaný webPart
parametrem ze stránky. Na rozdíl od uzavřeného ovládacího prvku, který je přidán do PageCatalogPart ovládacího prvku a lze ho přidat zpět na stránku, nelze odstraněnou instanci ovládacího prvku nikdy přidat zpět na stránku.
Poznámka
Jak je implementováno sadou ovládacích prvků webových částí, schopnost uživatelů odstranit dynamický WebPart ovládací prvek závisí na uživateli a rozsahu přizpůsobení, ve kterém byl ovládací prvek přidán na stránku. Pokud je ovládací prvek přidán, když je stránka ve sdíleném oboru (uživatelem, který má oprávnění), nemůžou ovládací prvek odstranit jednotliví uživatelé, pokud je stránka v oboru uživatele.
Odstranit lze pouze dynamické ovládací prvky. Dynamické ovládací prvky se přidávají na stránku programově nebo tak, že uživatelé přidávají ovládací prvky z katalogu. Statické ovládací prvky jsou přidány na stránku deklarativně ve formátu značek nebo trvalosti. Vzhledem k tomu, že deklarativní značky jsou ve značkách trvale přítomny, statické ovládací prvky nelze nikdy odstranit, ale lze je zavřít a znovu otevřít.