WebPartManager.GetCurrentWebPartManager メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim page As Page Dim returnValue As WebPartManager returnValue = WebPartManager.GetCurrentWebPartManager(page)
戻り値
ページ上のコントロールの現在のインスタンスを参照する WebPartManager 。

GetCurrentWebPartManager メソッドは、現在の WebPartManager コントロールへの参照を取得するコンテキストで役立ちます。このコンテキストが発生する一般的な例として、開発時にページ上の WebPartManager コントロールの ID が何になるかわからないカスタム コントロールを記述する場合が挙げられます。
![]() |
---|
GetCurrentWebPartManager メソッドは静的メソッドであるため、WebPartManager コントロールのインスタンスがなくても直接呼び出すことができます。 |
WebPart コントロールなどの Web パーツ コントロール セットの一部のコントロールは、現在の WebPartManager コントロールへの参照を取得できる WebPartManager プロパティを持っています。このため、このようなコントロールを処理する場合は、このプロパティを使用して参照を取得する必要があります。
Web ページ内にコード インラインを書き込むような、WebPartManager コントロールの ID がわかるコンテキストでコーディングする場合、これが、ID を使用して WebPartManager コントロールを直接参照する最も簡単で効率的な方法です。

GetCurrentWebPartManager メソッドを使用する方法を次のコード例に示します。この例には、カスタム サーバー コントロールと、そのコントロールをホストする Web ページの 2 つの部分があります。
カスタム Label コントロールは、GetCurrentWebPartManager メソッドを使用して現在のページの WebPartManager コントロールの ID を取得し、その ID を表示します。
Imports System 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
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; } } }
WebPartZone ゾーン内のコントロールをホストする Web ページのコード例を次に示します。
<%@ Page Language="vb" %> <%@ Register Namespace="Samples.AspNet.VB.Controls" TagPrefix="aspSample"%> <html > <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>
<%@ Page Language="C#" %> <%@ Register Namespace="Samples.AspNet.CS.Controls" TagPrefix="aspSample"%> <html > <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>
ブラウザにページを読み込んだ後、現在の WebPartManager コントロールの ID が、カスタム Label コントロール内に表示されます。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- WebPartManager.GetCurrentWebPartManager メソッドのページへのリンク