Поделиться через


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

Исключения

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 элемент управления с помощью его идентификатора.

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

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