WebPartManager.GetCurrentWebPartManager(Page) Method

Definition

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

C#
public static System.Web.UI.WebControls.WebParts.WebPartManager GetCurrentWebPartManager(System.Web.UI.Page page);

Parameters

page
Page

The Web page that contains an instance of the WebPartManager.

Returns

A WebPartManager that references the current instance of the control on a page.

Exceptions

page is null.

Examples

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.

C#
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.

ASP.NET (C#)
<%@ 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.

Remarks

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.

Note

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.

Applies to

Product Versions
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

See also