Share via


WebPartManager.GetCurrentWebPartManager(Page) Méthode

Définition

Récupère une référence à l'instance actuelle du contrôle WebPartManager sur une page.

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

Paramètres

page
Page

Page Web qui contient une instance du WebPartManager.

Retours

WebPartManager

WebPartManager qui référence l'instance actuelle du contrôle sur une page.

Exceptions

page a la valeur null.

Exemples

L'exemple de code suivant illustre l'utilisation de la méthode GetCurrentWebPartManager. L’exemple comporte deux parties : un contrôle serveur personnalisé et une page Web qui héberge le contrôle.

Le contrôle personnalisé Label utilise la GetCurrentWebPartManager méthode pour récupérer l’ID du WebPartManager contrôle sur la page active, puis affiche 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

L’exemple de code suivant fournit la page Web qui héberge le contrôle dans une WebPartZone zone.

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

Après avoir chargé la page dans un navigateur, notez que l’ID du contrôle actuel WebPartManager est affiché dans le contrôle personnalisé Label .

Remarques

La GetCurrentWebPartManager méthode est utile dans les contextes où vous souhaitez récupérer une référence au contrôle actuel WebPartManager . Un scénario courant dans lequel cela se produit est si vous écrivez un contrôle personnalisé qui ne peut pas savoir pendant le développement quel ID du WebPartManager contrôle sera sur sa page.

Notes

La GetCurrentWebPartManager méthode est statique. Vous pouvez donc l’appeler directement sans avoir besoin d’une instance d’un WebPartManager contrôle.

Certains contrôles du jeu de contrôles composants WebPart, tels que WebPart les contrôles, ont une WebPartManager propriété qui peut récupérer une référence au contrôle actuelWebPartManager. Par conséquent, lors de l’utilisation de ces contrôles, vous devez utiliser cette propriété pour récupérer une référence.

Si vous codez dans un contexte où vous connaissez l’ID du WebPartManager contrôle, comme l’écriture de code inline dans une page Web, il est plus simple et le plus efficace de faire référence directement au contrôle à l’aide WebPartManager de son ID.

S’applique à

Voir aussi