WebPartManager.GetGenericWebPart(Control) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene una referencia a la instancia del GenericWebPart control 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
Un control de servidor que existe en WebPartZoneBase y se ajusta como control secundario de en GenericWebPart tiempo de ejecución.
Devoluciones
que GenericWebPart se control ajusta como un control secundario. El método devuelve null si control no está incluido en .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 ajusta 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 WebPartZoneBase zonas para participar en aplicaciones de elementos web: WebPart controles, que heredan de la clase base WebPart 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 otros tipos de controles de servidor no. Para permitir que los demás controles de servidor actúen como controles /WebPart cuando se colocan en una zona de WebPartZoneBase, ASP.NET los ajusta con un control GenericWebPart. Dado que el GenericWebPart control hereda directamente de la WebPart clase , proporciona sus controles secundarios con características verdaderas de elementos web.
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 .