共用方式為


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

例外狀況

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 實例。

網頁元件控件集中的某些控件,例如 WebPart 控件,具有 WebPartManager 可擷取目前 WebPartManager 控件參考的屬性。 因此,使用這類控件時,您應該使用這個屬性來擷取參考。

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

適用於

另請參閱