Partilhar via


WebPartManager.GetGenericWebPart(Control) Método

Definição

Obtém uma referência à instância do controle GenericWebPart que contém um controle 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

Um controle de servidor que existe em um WebPartZoneBase e é encapsulado como um controle filho de um GenericWebPart em tempo de execução.

Retornos

Um GenericWebPart que encapsula control como um controle filho. O método retorna null se control não está contido em um GenericWebPart.

Exceções

control é null.

Exemplos

O exemplo de código a seguir demonstra o uso do GetGenericWebPart método . O exemplo de código contém um Calendar controle declarado dentro de uma WebPartZone zona. O Button1_Click método primeiro imprime a ID do Calendar controle em um rótulo e, em seguida, usa o GetGenericWebPart método para recuperar uma referência ao GenericWebPart controle que encapsula o calendário. A ID do GenericWebPart controle e a ID de seu controle filho (que é o Calendar controle), são impressas em um segundo rótulo.

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

Comentários

Em geral, há duas categorias de controles que os desenvolvedores colocam em WebPartZoneBase zonas para participar de aplicativos de Web Parts: WebPart controles, que herdam da classe base e outros controles de servidor, que podem ser controles de ASP.NET padrão, controles personalizados ou controles de WebPart usuário. Quando qualquer um desses controles é colocado em uma WebPartZoneBase zona, ele assume a funcionalidade de um WebPart controle. Um WebPart controle tem essa funcionalidade inerentemente, mas os outros tipos de controles de servidor não. Para permitir que os outros controles de servidor atuem como WebPart controles quando são colocados em uma WebPartZoneBase zona, ASP.NET os encapsula com um GenericWebPart controle. Como o GenericWebPart controle herda diretamente da WebPart classe , ele fornece seus controles filho com recursos de Web Parts verdadeiros.

Geralmente em tempo de execução, os desenvolvedores de páginas podem querer obter uma referência ao GenericWebPart controle que contém um dos controles do servidor em uma zona. O GetGenericWebPart método permite que eles recuperem uma referência ao GenericWebPart controle .

Aplica-se a

Confira também