WebPartManager.GetGenericWebPart(Control) Método

Definición

Obtiene una referencia a la instancia del control GenericWebPart que contiene un control de servidor.

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

Parámetros

control
Control

Control de servidor que existe en una clase WebPartZoneBase y se ajusta en tiempo de ejecución como un control secundario de GenericWebPart.

Devoluciones

Control GenericWebPart que ajusta control como un control secundario. El método devuelve null si control no está incluido en un control GenericWebPart.

Excepciones

control es null.

Ejemplos

En el ejemplo de código siguiente se muestra el uso del GetGenericWebPart método . El ejemplo de código contiene un Calendar control declarado dentro de una WebPartZone zona. El Button1_Click método imprime primero el identificador del Calendar control en una etiqueta y, a continuación, usa el GetGenericWebPart método para recuperar una referencia al GenericWebPart control que encapsula el calendario. El identificador del GenericWebPart control y el identificador de su control secundario (que es el Calendar control), se imprimen en una segunda etiqueta.

<%@ 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>

Comentarios

En general, hay dos categorías de controles que los desarrolladores colocan en zonas para participar en WebPartZoneBase aplicaciones de elementos web: WebPart controles que heredan de la WebPart clase base y otros controles de servidor, que pueden ser controles estándar ASP.NET, controles personalizados o controles de usuario. Cuando cualquiera de estos controles se coloca en una WebPartZoneBase zona, toma la funcionalidad de un WebPart control. Un WebPart control tiene esta funcionalidad inherentemente, pero los demás tipos de controles de servidor no lo hacen. Para permitir que los demás controles de servidor actúen como WebPart controles cuando se colocan en una WebPartZoneBase zona, ASP.NET los encapsula con un GenericWebPart control . Dado que el GenericWebPart control hereda directamente de la WebPart clase , proporciona sus controles secundarios con características de elementos web verdaderos.

A menudo en tiempo de ejecución, es posible que los desarrolladores de páginas quieran obtener una referencia al GenericWebPart control que contiene uno de los controles de servidor de una zona. El GetGenericWebPart método les permite recuperar una referencia al GenericWebPart control .

Se aplica a

Consulte también