WebPartManager.AddWebPart(WebPart, WebPartZoneBase, Int32) 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í.
Poskytuje standardní programovou metodu pro přidání WebPart ovládacích prvků na webovou stránku.
public:
System::Web::UI::WebControls::WebParts::WebPart ^ AddWebPart(System::Web::UI::WebControls::WebParts::WebPart ^ webPart, System::Web::UI::WebControls::WebParts::WebPartZoneBase ^ zone, int zoneIndex);
public System.Web.UI.WebControls.WebParts.WebPart AddWebPart(System.Web.UI.WebControls.WebParts.WebPart webPart, System.Web.UI.WebControls.WebParts.WebPartZoneBase zone, int zoneIndex);
member this.AddWebPart : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.WebPartZoneBase * int -> System.Web.UI.WebControls.WebParts.WebPart
Public Function AddWebPart (webPart As WebPart, zone As WebPartZoneBase, zoneIndex As Integer) As WebPart
Parametry
- webPart
- WebPart
Server WebPart nebo uživatelský ovládací prvek, který se má přidat na webovou stránku nebo otevřít na stránce.
- zone
- WebPartZoneBase
Do WebPartZoneBase kterého webPart se přidává.
- zoneIndex
- Int32
Celé číslo, které představuje pořadové umístění, které webPart zabírá zone, vzhledem k jiným ovládacím prvkům v zone.
Návraty
Ovládací WebPart prvek, který byl přidán na stránku.
Výjimky
Hodnota zoneIndex je menší než nula.
Příklady
Následující příklad kódu ukazuje použití AddWebPart metody k přidání ovládacího prvku serveru programově na stránku. Kód stránky obsahuje prázdný <asp:webpartzone> prvek a <asp:webpartmanager> prvek. Při prvním kliknutí na tlačítko Přidat kalendář vytvoří kód v obslužné rutině Calendar události ovládací prvek a přidá ho do zóny jako GenericWebPart objekt, který volá metodu AddWebPart .
<%@ 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 AddWebPart slouží k přidání nových dynamických WebPart ovládacích prvků na stránku a k opětovnému otevření statických nebo dynamických ovládacích prvků, které byly dříve zavřeny na stránce. Když je volána metoda pro přidání nového ovládacího prvku, ve skutečnosti vytvoří kopii ovládacího prvku odkazovaného v parametru webPart . Pro kopii ovládacího prvku se vygeneruje nové ID, takže vývojáři by měli odkazovat na WebPart ovládací prvek vrácený z metody, aby získali novou hodnotu ID. Když je volána metoda pro opětovné otevření dříve uzavřeného ovládacího prvku, vrátí přímý odkaz na ovládací prvek odkazovaný parametrem webPart .
Important
K programovému přidání AddWebPart ovládacích prvků na stránku byste měli vždy použít Add metodu, nikoli WebPartManager.Controls metodu kolekce ovládacích prvků odkazovaných vlastnostíWebPart, protože použití Add metody vyvolá výjimku. Chcete-li přidat ovládací prvek, který není WebPart ovládací prvek (jinými slovy, serverový ovládací prvek, který bude zabalen ovládací GenericWebPart prvek v době běhu), měli byste nejprve volat metodu CreateWebPart pro vytvoření ovládacího prvku a potom volat metodu AddWebPart pro přidání ovládacího prvku. Ukázku tohoto přístupu najdete v části Příklad.