Export (0) Print
Expand All
Expand Minimize

WebPartManager.GetCurrentWebPartManager Method

Retrieves a reference to the current instance of the WebPartManager control on a page.

Namespace:  System.Web.UI.WebControls.WebParts
Assembly:  System.Web (in System.Web.dll)

public static WebPartManager GetCurrentWebPartManager(
	Page page
)

Parameters

page
Type: System.Web.UI.Page

The Web page that contains an instance of the WebPartManager.

Return Value

Type: System.Web.UI.WebControls.WebParts.WebPartManager
A WebPartManager that references the current instance of the control on a page.

ExceptionCondition
ArgumentNullException

page is null.

The GetCurrentWebPartManager method is useful in contexts where you want to retrieve a reference to the current WebPartManager control. A common scenario where this would occur is if you are writing a custom control that cannot know during development what the ID of the WebPartManager control on its page will be.

NoteNote

The GetCurrentWebPartManager method is static, so you can call it directly without needing an instance of a WebPartManager control.

Some controls in the Web Parts control set, such as WebPart controls, have a WebPartManager property that can retrieve a reference to the current WebPartManager control. Hence, when working with such controls, you should use this property to retrieve a reference.

If you are coding in a context where you know the ID of the WebPartManager control, such as writing code inline within a Web page, it is simplest and most efficient to refer directly to the WebPartManager control by using its ID.

The following code example demonstrates how to use the GetCurrentWebPartManager method. The example has two parts: a custom server control, and a Web page that hosts the control.

The custom Label control uses the GetCurrentWebPartManager method to retrieve the ID of the WebPartManager control on the current page, and then displays the 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;
    }

  }

}

The following code example provides the Web page that hosts the control in a 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>

After you load the page in a browser, notice that the ID of the current WebPartManager control is displayed within the custom Label control.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft