WebPartManager.GetCurrentWebPartManager(Page) Метод

Определение

Получает ссылку на текущий экземпляр элемента управления WebPartManager на странице.

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

Параметры

page
Page

Веб-страница, содержащая экземпляр WebPartManager.

Возвращаемое значение

WebPartManager

Объект WebPartManager, который ссылается на текущий экземпляр элемента управления на странице.

Исключения

page имеет значение null.

Примеры

В следующем примере кода показано, как использовать метод GetCurrentWebPartManager. Пример состоит из двух частей: пользовательского серверного элемента управления и веб-страницы, на которой размещен элемент управления.

Пользовательский Label элемент управления использует GetCurrentWebPartManager метод для получения идентификатора WebPartManager элемента управления на текущей странице, а затем отображает идентификатор.

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

В следующем примере кода представлена веб-страница, на которую размещен элемент управления в 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>

После загрузки страницы в браузере обратите внимание, что идентификатор текущего WebPartManager элемента управления отображается в пользовательском Label элементе управления.

Комментарии

Этот GetCurrentWebPartManager метод полезен в контекстах, где требуется получить ссылку на текущий WebPartManager элемент управления. Распространенный сценарий, в котором это произойдет, — если вы пишете пользовательский элемент управления, который не может знать во время разработки, какой будет идентификатор WebPartManager элемента управления на его странице.

Примечание

Метод GetCurrentWebPartManager является статическим, поэтому его можно вызывать напрямую без необходимости экземпляра WebPartManager элемента управления.

Некоторые элементы управления в наборе элементов управления веб-части, такие как WebPart элементы управления, имеют WebPartManager свойство, которое может получить ссылку на текущий WebPartManager элемент управления. Поэтому при работе с такими элементами управления следует использовать это свойство для получения ссылки.

При написании кода в контексте, в котором вы знаете идентификатор элемента управления, например написание кода в виде встроенного WebPartManager кода на веб-странице, проще всего ссылаться непосредственно на WebPartManager элемент управления с помощью его идентификатора.

Применяется к

См. также раздел