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