Udostępnij za pośrednictwem


WebPartManager.GetCurrentWebPartManager(Page) Metoda

Definicja

Pobiera odwołanie do bieżącego wystąpienia kontrolki WebPartManager na stronie.

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

Parametry

page
Page

Strona sieci Web zawierająca wystąpienie elementu WebPartManager.

Zwraca

Element WebPartManager odwołujący się do bieżącego wystąpienia kontrolki na stronie.

Wyjątki

page to null.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać GetCurrentWebPartManager metody . W przykładzie znajdują się dwie części: niestandardowa kontrolka serwera i strona sieci Web, która hostuje kontrolkę.

Kontrolka niestandardowa Label używa GetCurrentWebPartManager metody , aby pobrać identyfikator WebPartManager kontrolki na bieżącej stronie, a następnie wyświetli identyfikator.

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

Poniższy przykład kodu zawiera stronę sieci Web, która hostuje kontrolkę WebPartZone w strefie.

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

Po załadowaniu strony w przeglądarce zwróć uwagę, że identyfikator bieżącej WebPartManager kontrolki jest wyświetlany w ramach kontrolki niestandardowej Label .

Uwagi

Metoda jest przydatna GetCurrentWebPartManager w kontekstach, w których chcesz pobrać odwołanie do bieżącej WebPartManager kontrolki. Typowym scenariuszem, w którym taka sytuacja występuje, jest napisanie niestandardowej kontrolki, która nie może wiedzieć podczas opracowywania, jaki będzie identyfikator WebPartManager kontrolki na jej stronie.

Uwaga

Metoda GetCurrentWebPartManager jest statyczna, więc można ją wywołać bezpośrednio bez konieczności wystąpienia kontrolki WebPartManager .

Niektóre kontrolki w zestawie kontrolek składników Web Part, takie jak WebPart kontrolki, mają WebPartManager właściwość, która może pobrać odwołanie do bieżącej WebPartManager kontrolki. W związku z tym podczas pracy z takimi kontrolkami należy użyć tej właściwości do pobrania odwołania.

Jeśli kodujesz w kontekście, w którym znasz identyfikator WebPartManager kontrolki, na przykład pisanie kodu wbudowanego na stronie sieci Web, najprostsze i najbardziej wydajne jest odwoływanie się bezpośrednio do WebPartManager kontrolki przy użyciu jego identyfikatora.

Dotyczy

Zobacz też