WebPartManager.GetGenericWebPart(Control) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém uma referência à instância do GenericWebPart controlo que contém um controlo 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 controlo de servidor que existe em a WebPartZoneBase e é encapsulado como um controlo filho de um GenericWebPart at run time.
Devoluções
A GenericWebPart que envolve control como um controlo infantil. O método retorna null se control não estiver contido num GenericWebPart.
Exceções
control é null.
Exemplos
O exemplo de código seguinte demonstra a utilização do GetGenericWebPart método. O exemplo do código contém um Calendar controlo declarado dentro de uma WebPartZone zona. O Button1_Click método imprime primeiro o ID do Calendar controlo numa etiqueta e depois usa o GetGenericWebPart método para recuperar uma referência ao GenericWebPart controlo que envolve o calendário. O ID do GenericWebPart controlo e o ID do seu controlo filho (que é o Calendar controlo) são ambos impressos numa 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>
Observações
Em geral, existem duas categorias de controlos que os programadores colocam em zonas WebPartZoneBase para participar em aplicações Web Parts: controlos WebPart, que herdam da classe base WebPart, e outros controlos de servidor, que podem ser controlos ASP.NET padrão, controlos personalizados ou controlos de utilizador. Quando qualquer um destes controlos é colocado numa WebPartZoneBase zona, assume a funcionalidade de um WebPart controlo. Um WebPart controlo tem esta funcionalidade de forma inerente, mas os outros tipos de controlos de servidor não. Para permitir que os outros controlos do servidor atuem como controlos WebPart quando são colocados numa zona WebPartZoneBase, ASP.NET envolve-os com um controlo GenericWebPart. Como o controlo GenericWebPart herda diretamente da WebPart classe, fornece aos seus controlos filhos verdadeiras funcionalidades Web Parts.
Muitas vezes, em tempo de execução, os programadores de páginas podem querer obter uma referência ao GenericWebPart controlo que contém um dos controlos do servidor numa zona. O GetGenericWebPart método permite-lhes recuperar uma referência ao GenericWebPart controlo.