Partager via


WebPartManager.GetGenericWebPart(Control) Méthode

Définition

Obtient une référence à l'instance du contrôle GenericWebPart 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 et qui est encapsulé comme contrôle enfant d'un GenericWebPart au moment de l'exécution.

Retours

GenericWebPart qui encapsule control comme contrôle enfant. La méthode retourne null si control n'est pas contenu 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 des zones pour participer aux applications WebPart : WebPart les contrôles, qui héritent de la WebPart classe de base, 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. Quand l’un de ces contrôles est placé dans une WebPartZoneBase zone, il prend en charge les fonctionnalités d’un WebPart contrôle. Un WebPart contrôle a cette fonctionnalité par nature, mais pas les autres types de contrôles serveur. Pour permettre aux autres contrôles serveur d’agir en tant que WebPart contrôles lorsqu’ils sont placés dans une WebPartZoneBase zone, ASP.NET les encapsule avec un GenericWebPart contrôle. Étant donné que le GenericWebPart contrôle hérite directement de la WebPart classe, il fournit à ses contrôles enfants de véritables fonctionnalités 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.

S’applique à

Voir aussi