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 von WebPartManager enthält.

Gibt zurück

WebPartManager

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

Ausnahmen

page ist null.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie die GetCurrentWebPartManager-Methode verwenden. Das Beispiel enthält 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 Steuerelements auf der WebPartManager aktuellen Seite abzurufen und dann die ID anzuzeigen.

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 WebPartManager Label Steuerelement angezeigt wird.

Hinweise

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

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 Webparts Steuerelementsatz, zWebPart. B. Steuerelemente, verfügen über eine WebPartManager Eigenschaft, die einen Verweis auf das aktuelle WebPartManager Steuerelement abrufen kann. Daher sollten Sie beim Arbeiten mit diesen Steuerelementen diese Eigenschaft verwenden, um einen Verweis abzurufen.

Wenn Sie in einem Kontext codieren, in dem Sie die ID des WebPartManager Steuerelements kennen, z. B. das Schreiben von Code inline in einer Webseite, ist es einfach und effizient, direkt auf das WebPartManager Steuerelement zu verweisen, indem sie seine ID verwenden.

Gilt für

Siehe auch