WebPartManager.GetGenericWebPart(Control) 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í.
Získá odkaz na instanci GenericWebPart ovládacího prvku, který obsahuje ovládací prvek serveru.
public:
System::Web::UI::WebControls::WebParts::GenericWebPart ^ GetGenericWebPart(System::Web::UI::Control ^ control);
public System.Web.UI.WebControls.WebParts.GenericWebPart GetGenericWebPart (System.Web.UI.Control control);
member this.GetGenericWebPart : System.Web.UI.Control -> System.Web.UI.WebControls.WebParts.GenericWebPart
Public Function GetGenericWebPart (control As Control) As GenericWebPart
Parametry
- control
- Control
Serverový ovládací prvek, který existuje v objektu WebPartZoneBase a je zabalen jako podřízený ovládací prvek objektu GenericWebPart za běhu.
Návraty
A GenericWebPart , který se zabalí control
jako podřízený ovládací prvek. Metoda vrátí null
, pokud control
není obsažena v objektu GenericWebPart.
Výjimky
control
je null
.
Příklady
Následující příklad kódu ukazuje použití GetGenericWebPart metody . Příklad kódu obsahuje Calendar ovládací prvek deklarovaný WebPartZone v rámci zóny. Metoda Button1_Click
nejprve vytiskne ID Calendar ovládacího prvku na popisek a pak pomocí GetGenericWebPart metody načte odkaz na GenericWebPart ovládací prvek, který zabalí kalendář. ID GenericWebPart ovládacího prvku a ID jeho podřízeného ovládacího prvku (kterým je Calendar ovládací prvek) se vytiskne na druhý popisek.
<%@ 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 Button1_Click(object sender, EventArgs e)
{
Label1.Text = "<h2>Server Control</h2>";
Label1.Text += "Server Control ID: " + Calendar1.ID;
Label2.Text = "<h2>GenericWebPart Control</h2>";
GenericWebPart part = mgr.GetGenericWebPart(Calendar1);
if (part != null)
{
Label2.Text +=
"GenericWebPart ID: " + part.ID + "<br />";
Label2.Text +=
"Underlying Control ID: " + part.ChildControl.ID;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:Button ID="Button1" runat="server"
Text="Get GenericWebPart"
OnClick="Button1_Click" />
<hr />
<asp:Label ID="Label1" runat="server" Text="" />
<br />
<asp:Label ID="Label2" runat="server" Text="" />
</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 Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Label1.Text = "<h2>Server Control</h2>"
Label1.Text += "Server Control ID: " + Calendar1.ID
Label2.Text = "<h2>GenericWebPart Controls</h2>"
Dim part As GenericWebPart
part = mgr.GetGenericWebPart(Calendar1)
If part IsNot Nothing Then
Label2.Text += _
"GenericWebPart ID: " & part.ID & "<br />"
Label2.Text += _
"Underlying Control ID: " + part.ChildControl.ID
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:Button ID="Button1" runat="server"
Text="Get GenericWebPart"
OnClick="Button1_Click" />
<hr />
<asp:Label ID="Label1" runat="server" Text="" />
<br />
<asp:Label ID="Label2" runat="server" Text="" />
</div>
</form>
</body>
</html>
Poznámky
Obecně platí, že existují dvě kategorie ovládacích prvků, které vývojáři umístí do WebPartZoneBase zón pro účast v aplikacích webových částí: WebPart ovládací prvky, které dědí ze WebPart základní třídy, a další serverové ovládací prvky, které mohou být standardní ASP.NET ovládací prvky, vlastní ovládací prvky nebo uživatelské ovládací prvky. Když je některý z těchto ovládacích prvků umístěn v WebPartZoneBase zóně, převezme funkce WebPart ovládacího prvku. Ovládací WebPart prvek má tuto funkci ze své podstaty, ale jiné druhy serverových ovládacích prvků nikoli. Aby ostatní serverové ovládací prvky fungovaly při umístění do WebPartZoneBase zóny jako WebPart ovládací prvky, ASP.NET je zabalí do GenericWebPart ovládacího prvku. Vzhledem k tomu, že GenericWebPart ovládací prvek dědí přímo z WebPart třídy , poskytuje své podřízené ovládací prvky se skutečnými funkcemi webových částí.
V době běhu můžou vývojáři stránek často chtít získat odkaz na GenericWebPart ovládací prvek, který obsahuje jeden ze serverových ovládacích prvků v zóně. Metoda GetGenericWebPart jim umožňuje načíst odkaz na GenericWebPart ovládací prvek.