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

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 umfasst zwei Teile: ein benutzerdefiniertes Serversteuerelement und eine Webseite, die das Steuerelement hostet.

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 der Fall ist, wenn Sie ein benutzerdefiniertes Steuerelement schreiben, das während der Entwicklung nicht wissen kann, wie die ID des Steuerelements auf seiner WebPartManager Seite aussehen 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 Webparts-Steuerelementsatz, z WebPart . B. Steuerelemente, verfügen über eine WebPartManager -Eigenschaft, die einen Verweis auf das aktuelle WebPartManager Steuerelement abrufen kann. Daher sollten Sie bei der Arbeit mit solchen Steuerelementen diese Eigenschaft verwenden, um einen Verweis abzurufen.

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

Gilt für:

Weitere Informationen