Compartilhar via


WebPartManager.GetCurrentWebPartManager(Page) Método

Definição

Recupera uma referência para a instância atual do controle WebPartManager na 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

A página da Web que contém uma instância do WebPartManager.

Retornos

Um WebPartManager que faz referência à instância atual do controle em uma página.

Exceções

page é null.

Exemplos

O exemplo de código a seguir demonstra como usar o GetCurrentWebPartManager método . O exemplo tem duas partes: um controle de servidor personalizado e uma página da Web que hospeda o controle.

O controle personalizado Label usa o GetCurrentWebPartManager método para recuperar a ID do WebPartManager controle na página atual e exibe a ID.

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

O exemplo de código a seguir fornece a página da Web que hospeda o controle em uma 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>

Depois de carregar a página em um navegador, observe que a ID do controle atual WebPartManager é exibida dentro do controle personalizado Label .

Comentários

O GetCurrentWebPartManager método é útil em contextos em que você deseja recuperar uma referência ao controle atual WebPartManager . Um cenário comum em que isso ocorreria é se você estiver escrevendo um controle personalizado que não pode saber durante o desenvolvimento qual será a ID do WebPartManager controle em sua página.

Observação

O GetCurrentWebPartManager método é estático, portanto, você pode chamá-lo diretamente sem precisar de uma instância de um WebPartManager controle.

Alguns controles no conjunto de controles de Web Parts, como WebPart controles, têm uma WebPartManager propriedade que pode recuperar uma referência ao controle atual WebPartManager . Portanto, ao trabalhar com esses controles, você deve usar essa propriedade para recuperar uma referência.

Se você estiver codificando em um contexto em que conhece a ID do WebPartManager controle, como escrever código embutido em uma página da Web, é mais simples e eficiente se referir diretamente ao WebPartManager controle usando sua ID.

Aplica-se a

Confira também