WebPartManager.GetCurrentWebPartManager(Page) Método

Definición

Recupera una referencia a la instancia actual del control WebPartManager en una página.

public:
 static System::Web::UI::WebControls::WebParts::WebPartManager ^ GetCurrentWebPartManager(System::Web::UI::Page ^ page);
public static System.Web.UI.WebControls.WebParts.WebPartManager GetCurrentWebPartManager (System.Web.UI.Page page);
static member GetCurrentWebPartManager : System.Web.UI.Page -> System.Web.UI.WebControls.WebParts.WebPartManager
Public Shared Function GetCurrentWebPartManager (page As Page) As WebPartManager

Parámetros

page
Page

Página Web que contiene una instancia de WebPartManager.

Devoluciones

WebPartManager

Objeto WebPartManager que hace referencia a la instancia actual del control en una página.

Excepciones

page es null.

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar el método GetCurrentWebPartManager. El ejemplo tiene dos partes: un control de servidor personalizado y una página web que hospeda el control.

El control personalizado Label usa el GetCurrentWebPartManager método para recuperar el identificador del WebPartManager control en la página actual y, a continuación, muestra el identificador.

namespace Samples.AspNet.CS.Controls
{
  using System;
  using System.Web;
  using System.Web.Security;
  using System.Security.Permissions;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;

  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class MyManagerIDLabel : Label
  {

    protected override void OnPreRender(EventArgs e)
    {
      EnsureChildControls();

      this.Text = 
        WebPartManager.GetCurrentWebPartManager(Page).ID;
    }
  }
}
Imports System.Web
Imports System.Web.Security
Imports System.Security.Permissions
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class MyManagerIDLabel

    Inherits Label

    Protected Overrides Sub OnPreRender(ByVal e As EventArgs)

      EnsureChildControls()
      Me.Text = _
        WebPartManager.GetCurrentWebPartManager(Page).ID

    End Sub

  End Class

End Namespace

En el ejemplo de código siguiente se proporciona la página web que hospeda el control en una WebPartZone zona.

<%@ Page Language="C#" %>
<%@ Register 
    Namespace="Samples.AspNet.CS.Controls" 
    TagPrefix="aspSample"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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="WebPartManager1" runat="server">
      </asp:WebPartManager>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:MyManagerIDLabel ID="mgrID" runat="server" 
            Title="Manager ID Label" 
            Description="Displays the ID of the current WebPartManger."/>
        </ZoneTemplate>
      </asp:WebPartZone>
    </div>
    </form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ Register 
    Namespace="Samples.AspNet.VB.Controls" 
    TagPrefix="aspSample"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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="WebPartManager1" runat="server">
      </asp:WebPartManager>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:MyManagerIDLabel ID="mgrID" runat="server" 
            Title="Manager ID Label" 
            Description="Displays the ID of the current WebPartManger."/>
        </ZoneTemplate>
      </asp:WebPartZone>
    </div>
    </form>
</body>
</html>

Después de cargar la página en un explorador, observe que el identificador del control actual WebPartManager se muestra dentro del control personalizado Label .

Comentarios

El GetCurrentWebPartManager método es útil en contextos en los que desea recuperar una referencia al control actual WebPartManager . Un escenario común en el que esto ocurriría es si está escribiendo un control personalizado que no puede saber durante el desarrollo cuál será el identificador del WebPartManager control en su página.

Nota

El GetCurrentWebPartManager método es estático, por lo que puede llamarlo directamente sin necesidad de una instancia de un WebPartManager control.

Algunos controles del conjunto de controles elementos web, como WebPart los controles, tienen una WebPartManager propiedad que puede recuperar una referencia al control actualWebPartManager. Por lo tanto, al trabajar con estos controles, debe usar esta propiedad para recuperar una referencia.

Si está codificando en un contexto en el WebPartManager que conoce el identificador del control, como escribir código insertado en una página web, es más sencillo y eficaz hacer referencia directamente al WebPartManager control mediante su identificador.

Se aplica a

Consulte también