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,參考頁面上控制項目前的執行個體。

例外狀況

pagenull

範例

下列程式碼範例會示範如何使用 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 實例。

Web 組件控制項集中的某些控制項,例如 WebPart 控制項,都有 WebPartManager 屬性可以擷取目前 WebPartManager 控制項的參考。 因此,使用這類控制項時,您應該使用這個屬性來擷取參考。

如果您是在知道控制項識別碼 WebPartManager 的內容中撰寫程式碼,例如在網頁內嵌撰寫程式碼,使用其識別碼直接 WebPartManager 參考控制項是最簡單的且最有效率的。

適用於

另請參閱