Freigeben über


WebPartManager.GetCurrentWebPartManager(Page) Methode

Definition

Ruft einen Verweis auf die aktuelle Instanz des WebPartManager Steuerelements auf einer Seite ab.

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

Parameter

page
Page

Die Webseite, die eine Instanz der WebPartManager.

Gibt zurück

Ein WebPartManager Element, das auf die aktuelle Instanz des Steuerelements auf einer Seite verweist.

Ausnahmen

page ist null.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der GetCurrentWebPartManager Methode veranschaulicht. Das Beispiel verfügt über zwei Teile: ein benutzerdefiniertes Serversteuerelement und eine Webseite, die das Steuerelement hosten soll.

Das benutzerdefinierte Label Steuerelement verwendet die GetCurrentWebPartManager Methode, um die ID des WebPartManager Steuerelements auf der aktuellen Seite abzurufen, und zeigt dann die ID an.

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

Im folgenden Codebeispiel wird die Webseite bereitgestellt, auf der das Steuerelement in einer WebPartZone Zone gehostet wird.

<%@ 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>

Nachdem Sie die Seite in einem Browser geladen haben, beachten Sie, dass die ID des aktuellen Steuerelements im benutzerdefinierten WebPartManagerLabel Steuerelement angezeigt wird.

Hinweise

Die GetCurrentWebPartManager Methode ist in Kontexten nützlich, in denen Sie einen Verweis auf das aktuelle WebPartManager Steuerelement abrufen möchten. Ein häufiges Szenario, in dem dies auftritt, ist das Schreiben eines benutzerdefinierten Steuerelements, das während der Entwicklung nicht wissen kann, was die ID des WebPartManager Steuerelements auf seiner Seite sein wird.

Hinweis

Die GetCurrentWebPartManager Methode ist statisch, sodass Sie sie direkt aufrufen können, ohne eine Instanz eines WebPartManager Steuerelements zu benötigen.

Einige Steuerelemente im Webpart-Steuerelementsatz, z WebPart . B. Steuerelemente, verfügen über eine WebPartManager Eigenschaft, die einen Verweis auf das aktuelle WebPartManager Steuerelement abrufen kann. Daher sollten Sie beim Arbeiten mit solchen Steuerelementen diese Eigenschaft verwenden, um einen Verweis abzurufen.

Wenn Sie coden in einem Kontext, in dem Sie die ID des WebPartManager Steuerelements kennen, z. B. das Schreiben von Code inline innerhalb einer Webseite, ist es am einfachsten und effizienteste, direkt auf das WebPartManager Steuerelement mithilfe seiner ID zu verweisen.

Gilt für:

Weitere Informationen