WebPartManager.GetGenericWebPart(Control) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 .