WebPartManager.GetGenericWebPart(Control) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient une référence à l’instance du GenericWebPart contrôle qui contient un contrôle serveur.
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
Paramètres
- control
- Control
Contrôle serveur qui existe dans un WebPartZoneBase contrôle et est encapsulé en tant que contrôle enfant d’un GenericWebPart moment de l’exécution.
Retours
Qui GenericWebPart s’encapsule control en tant que contrôle enfant. La méthode retourne null si control elle n’est pas contenue dans un GenericWebPart.
Exceptions
control a la valeur null.
Exemples
L’exemple de code suivant illustre l’utilisation de la GetGenericWebPart méthode. L’exemple de code contient un Calendar contrôle déclaré dans une WebPartZone zone. La Button1_Click méthode imprime d’abord l’ID du Calendar contrôle sur une étiquette, puis utilise la GetGenericWebPart méthode pour récupérer une référence au GenericWebPart contrôle qui encapsule le calendrier. L’ID du GenericWebPart contrôle et l’ID de son contrôle enfant (qui est le Calendar contrôle), sont tous deux imprimés sur une deuxième étiquette.
<%@ 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>
Remarques
En général, il existe deux catégories de contrôles que les développeurs placent dans WebPartZoneBase zones pour participer aux applications de composants WebPart : WebPart contrôles, qui héritent de la classe de base WebPart et d’autres contrôles serveur, qui peuvent être des contrôles standard ASP.NET, des contrôles personnalisés ou des contrôles utilisateur. Lorsqu’un de ces contrôles est placé dans une WebPartZoneBase zone, il prend les fonctionnalités d’un WebPart contrôle. Un WebPart contrôle a cette fonctionnalité par nature, mais les autres types de contrôles serveur ne le font pas. Pour permettre aux autres contrôles serveur d’agir en tant que contrôles WebPart lorsqu’ils sont placés dans une zone WebPartZoneBase, ASP.NET les encapsule avec un contrôle GenericWebPart. Étant donné que le GenericWebPart contrôle hérite directement de la WebPart classe, il fournit ses contrôles enfants avec de vraies fonctionnalités de composants WebPart.
Souvent au moment de l’exécution, les développeurs de pages peuvent souhaiter obtenir une référence au GenericWebPart contrôle qui contient l’un des contrôles serveur dans une zone. La GetGenericWebPart méthode leur permet de récupérer une référence au GenericWebPart contrôle.