Condividi tramite


WebPartManager.GetCurrentWebPartManager(Page) Metodo

Definizione

Recupera un riferimento all'istanza corrente del controllo WebPartManager in una pagina.

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

Parametri

page
Page

Pagina Web che contiene un'istanza del controllo WebPartManager.

Restituisce

Classe WebPartManager che fa riferimento all'istanza corrente del controllo in una pagina.

Eccezioni

page è null.

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare il metodo GetCurrentWebPartManager. L'esempio include due parti: un controllo server personalizzato e una pagina Web che ospita il controllo .

Il controllo personalizzato Label usa il GetCurrentWebPartManager metodo per recuperare l'ID del WebPartManager controllo nella pagina corrente e quindi visualizza l'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

Nell'esempio di codice seguente viene fornita la pagina Web che ospita il controllo in un'area WebPartZone .

<%@ 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>

Dopo aver caricato la pagina in un browser, si noti che l'ID del controllo corrente WebPartManager viene visualizzato all'interno del controllo personalizzato Label .

Commenti

Il GetCurrentWebPartManager metodo è utile nei contesti in cui si desidera recuperare un riferimento al controllo corrente WebPartManager . Uno scenario comune in cui ciò si verifica è se si sta scrivendo un controllo personalizzato che non è in grado di sapere durante lo sviluppo quale sarà l'ID del WebPartManager controllo nella relativa pagina.

Nota

Il GetCurrentWebPartManager metodo è statico, quindi è possibile chiamarlo direttamente senza che sia necessaria un'istanza di un WebPartManager controllo.

Alcuni controlli nel set di controlli Web part, ad esempio WebPart i controlli, dispongono di una WebPartManager proprietà in grado di recuperare un riferimento al controllo corrente WebPartManager . Pertanto, quando si usano tali controlli, è consigliabile usare questa proprietà per recuperare un riferimento.

Se si scrive codice in un contesto in cui si conosce l'ID del WebPartManager controllo, ad esempio scrivendo codice inline all'interno di una pagina Web, è più semplice ed efficiente fare riferimento direttamente al controllo usando il WebPartManager relativo ID.

Si applica a

Vedi anche