WebPartManager.GetCurrentWebPartManager(Page) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.