WebPartManager.ConnectWebParts Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine Verbindung zwischen zwei WebPart-Steuerelementen (oder sonstigen Serversteuerelementen, die Verbindungen bilden können), die sich in einer WebPartZoneBase-Zone befinden.
Überlädt
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) |
Erstellt nur mithilfe der Verweise auf die Steuerelemente und ihre angegebenen WebPart-Objekte eine Verbindung zwischen zwei GenericWebPart-Steuerelementen oder ConnectionPoint-Steuerelementen. |
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) |
Erstellt mithilfe der Verweise auf die Steuerelemente, ihre angegebenen WebPart-Objekte und ein GenericWebPart-Objekt eine Verbindung zwischen zwei ConnectionPoint-Steuerelementen oder WebPartTransformer-Steuerelementen. |
Hinweise
Die ConnectWebParts -Methode stellt eine Verbindung zwischen zwei WebPart beliebigen Steuerelementen her, die verbunden werden können. Bevor Sie diese Methode zum Erstellen einer Verbindung aufrufen, können Sie die CanConnectWebParts -Methode auch in einer bedingten Überprüfung aufrufen, um sicherzustellen, dass die Steuerelemente die Anforderungen zum Herstellen einer Verbindung erfüllen.
Hinweis
Es ist auch möglich, eine Verbindung zwischen zwei Serversteuerelementen herzustellen, die keine WebPart Steuerelemente sind. Im Allgemeinen müssen die beiden Steuerelemente benutzerdefinierte Serversteuerelemente sein (z. B. Steuerelemente, die von WebControl oder vorhandenen ASP.NET Serversteuerelementen erben), damit Sie die erforderlichen Member hinzufügen können. Die Steuerelemente müssten auch die unten angegebenen Anforderungen erfüllen.
Jede Art von Verbindungsszenario zwischen zwei Steuerelementen muss die folgenden Anforderungen erfüllen, um eine Verbindung herstellen zu können:
Jedes Steuerelement befindet sich in einer WebPartZoneBase Zone (es muss nicht dieselbe Zone sein).
Wie im Webparts-Steuerelementsatz implementiert, implementiert das Anbietersteuerelement in einer Verbindung eine Schnittstelle als öffentliche Methode, die als Rückruf für den Anbieter dient, und verfügt über ein
ConnectionProvider
Metadatenattribut für die Methode, um es als Anbieterverbindungspunkt zu identifizieren. Da die Methode, die GetProviderConnectionPoints Anbieterverbindungspunkte abruft, virtuell ist, muss ein abgeleitetes WebPartManager Steuerelement nicht unbedingt dasselbe Metadatenattribute verwenden.Wie im Webparts-Steuerelementsatz implementiert, verfügt das Consumersteuerelement in einer Verbindung auch über eine spezielle Methode, die es ermöglicht, einen Verweis auf die Schnittstelle abzurufen, die in der Rückrufmethode des Anbieters verfügbar gemacht wird, und der Consumer verfügt über ein
ConnectionConsumer
Metadatenattribut für die Methode, um es als Consumerverbindungspunkt zu identifizieren. Da die Methode, die GetConsumerConnectionPoints Consumerverbindungspunkte abruft, virtuell ist, muss ein abgeleitetes WebPartManager Steuerelement nicht unbedingt dasselbe Metadatenattribute verwenden.Die Rückrufmethoden müssen entweder kompatibel sein, da der Consumer den Schnittstellentyp verwenden kann, der in der Rückrufmethode des Anbieters angegeben ist (d. h. der Consumer und der Anbieter können Daten direkt freigeben), oder der Entwickler muss ein WebPartTransformer -Objekt verwenden, um die Daten vom Anbieter in eine Form zu transformieren, die der Consumer verwenden kann.
Wichtig
Wenn Sie keinen Transformator benötigen, verwenden Sie die ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) Methodenüberladung. Wenn Sie einen Transformator benötigen, verwenden Sie die ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) Methodenüberladung.
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)
Erstellt nur mithilfe der Verweise auf die Steuerelemente und ihre angegebenen WebPart-Objekte eine Verbindung zwischen zwei GenericWebPart-Steuerelementen oder ConnectionPoint-Steuerelementen.
public:
System::Web::UI::WebControls::WebParts::WebPartConnection ^ ConnectWebParts(System::Web::UI::WebControls::WebParts::WebPart ^ provider, System::Web::UI::WebControls::WebParts::ProviderConnectionPoint ^ providerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPart ^ consumer, System::Web::UI::WebControls::WebParts::ConsumerConnectionPoint ^ consumerConnectionPoint);
public System.Web.UI.WebControls.WebParts.WebPartConnection ConnectWebParts (System.Web.UI.WebControls.WebParts.WebPart provider, System.Web.UI.WebControls.WebParts.ProviderConnectionPoint providerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPart consumer, System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint consumerConnectionPoint);
member this.ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint -> System.Web.UI.WebControls.WebParts.WebPartConnection
Public Function ConnectWebParts (provider As WebPart, providerConnectionPoint As ProviderConnectionPoint, consumer As WebPart, consumerConnectionPoint As ConsumerConnectionPoint) As WebPartConnection
Parameter
- provider
- WebPart
Ein WebPart-Steuerelement, das die Funktion erfüllt, Daten für ein anderes, mit ihm verbundenes Steuerelement bereitzustellen.
- providerConnectionPoint
- ProviderConnectionPoint
Eine Methode, die als Rückrufmethode für die Verbindung fungiert. Entsprechend der Implementierung im Webparts-Steuerelementsatz ist dies eine öffentliche Methode in provider
, die mit einem ConnectionProvider
-Metadatenattribut gekennzeichnet ist.
- consumer
- WebPart
Ein WebPart-Steuerelement, das die Funktion erfüllt, Daten von provider
zu empfangen und dann zu verarbeiten oder anzuzeigen.
- consumerConnectionPoint
- ConsumerConnectionPoint
Eine Methode, die eine Verbindung mit providerConnectionPoint
herstellt, um die Daten für die Verbindung zu empfangen. Entsprechend der Implementierung im Webparts-Steuerelementsatz ist dies eine öffentliche Methode in consumer
, die mit einem ConnectionConsumer
-Metadatenattribut gekennzeichnet ist.
Gibt zurück
Eine WebPartConnection mit den Informationen zum Anbieter und Consumer, die für eine Verbindung benötigt werden.
Ausnahmen
Die Auflistung der dynamischen Auflistungen des WebPartManager-Steuerelements ist schreibgeschützt.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Diese Methode zum programmgesteuerten Erstellen einer Verbindung verwendet wird. Den vollständigen Code, der zum Ausführen des Beispiels erforderlich ist, finden Sie im Abschnitt Beispiel der WebPartManager Klassenübersicht. In diesem Beispiel benötigen Sie den Quellcode für das Benutzersteuerelement, mit dem Sie die Anzeigemodi auf der Seite ändern können, und den Quellcode für die beiden benutzerdefinierten WebPart Steuerelemente.
Der Code für die Webseite, die die beiden Steuerelemente hostet, folgt. Die Seite verwendet Register
Direktiven oben, um das Benutzersteuerelement und die benutzerdefinierten Steuerelemente zu deklarieren. Anschließend wird in einem <asp:webpartzone>
-Element deklarativ auf die benutzerdefinierten Steuerelemente verwiesen. Der Code, der die Button1_Click
-Methode behandelt, erstellt mithilfe der -Methode eine Verbindung zwischen den Steuerelementen ConnectWebParts .
<%@ Page Language="C#" %>
<%@ Register TagPrefix="uc1"
TagName="DisplayModeMenuCS"
Src="~/displaymodemenucs.ascx" %>
<%@ Register TagPrefix="aspSample"
Namespace="Samples.AspNet.CS.Controls"
Assembly="ConnectionSampleCS"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
ProviderConnectionPoint provPoint =
mgr.GetProviderConnectionPoints(zip1)["ZipCodeProvider"];
ConsumerConnectionPoint connPoint =
mgr.GetConsumerConnectionPoints(weather1)["ZipCodeConsumer"];
WebPartConnection conn1 = mgr.ConnectWebParts(zip1, provPoint,
weather1, connPoint);
}
protected void mgr_DisplayModeChanged(object sender,
WebPartDisplayModeEventArgs e)
{
if (mgr.DisplayMode == WebPartManager.ConnectDisplayMode)
Button1.Visible = true;
else
Button1.Visible = false;
}
</script>
<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="mgr" runat="server"
OnDisplayModeChanged="mgr_DisplayModeChanged">
</asp:WebPartManager>
<uc1:DisplayModeMenuCS ID="menu1" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<aspSample:ZipCodeWebPart ID="zip1" runat="server"
Title="Zip Code Provider" />
<aspSample:WeatherWebPart ID="weather1" runat="server"
Title="Zip Code Consumer" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
</asp:ConnectionsZone>
<asp:Button ID="Button1" runat="server"
Text="Connect WebPart Controls"
OnClick="Button1_Click"
Visible="false" />
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ Register TagPrefix="uc1"
TagName="DisplayModeMenuVB"
Src="~/displaymodemenuvb.ascx" %>
<%@ Register TagPrefix="aspSample"
Namespace="Samples.AspNet.VB.Controls"
Assembly="ConnectionSampleVB"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim provPoint As ProviderConnectionPoint = _
mgr.GetProviderConnectionPoints(zip1)("ZipCodeProvider")
Dim connPoint As ConsumerConnectionPoint = _
mgr.GetConsumerConnectionPoints(weather1)("ZipCodeConsumer")
mgr.ConnectWebParts(zip1, provPoint, weather1, connPoint)
End Sub
Protected Sub mgr_DisplayModeChanged (ByVal sender as Object, _
ByVal e as WebPartDisplayModeEventArgs)
If mgr.DisplayMode is WebPartManager.ConnectDisplayMode Then
Button1.Visible = True
Else
Button1.Visible = False
End If
End Sub
</script>
<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="mgr" runat="server"
OnDisplayModeChanged="mgr_DisplayModeChanged">
</asp:WebPartManager>
<uc1:DisplayModeMenuVB ID="menu1" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<aspSample:ZipCodeWebPart ID="zip1" runat="server"
Title="Zip Code Provider" />
<aspSample:WeatherWebPart ID="weather1" runat="server"
Title="Zip Code Consumer" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
</asp:ConnectionsZone>
<asp:Button ID="Button1" runat="server"
Text="Connect WebPart Controls"
OnClick="Button1_Click"
Visible="false" />
</div>
</form>
</body>
</html>
Nachdem Sie die Seite in einem Browser geladen haben, klicken Sie auf die Schaltfläche WebPart-Steuerelemente verbinden , um die Verbindung herzustellen. Sie können dann einige Daten in das Textfeld eingeben und auf die Schaltfläche 5-stellige Postleitzahl eingeben klicken, um zu zeigen, dass die Steuerelemente verbunden sind und dass die im ersten Steuerelement eingegebenen Daten im zweiten aktualisiert werden.
Hinweise
Diese Überladung wird verwendet, um Steuerelemente zu verbinden, wenn deren Verbindungspunkte so kompatibel sind, dass sie ohne Verwendung eines -Objekts eine WebPartTransformer Verbindung herstellen können. Wenn diese Überladung der -Methode aufgerufen wird, übergibt sie einfach den Aufruf an die andere überladene Version der -Methode und übergibt null
den Parameter, der ein WebPartTransformer -Objekt erfordert.
Wenn Sie versuchen, zwei Steuerelemente programmgesteuert zu verbinden, können Sie die CanConnectWebParts -Methode in einer bedingten Überprüfung verwenden, um zu bestimmen, ob die Steuerelemente direkt verbunden werden können.
Weitere Informationen
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- ASP.NET Webparts-Steuerelemente
Gilt für:
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)
Erstellt mithilfe der Verweise auf die Steuerelemente, ihre angegebenen WebPart-Objekte und ein GenericWebPart-Objekt eine Verbindung zwischen zwei ConnectionPoint-Steuerelementen oder WebPartTransformer-Steuerelementen.
public:
virtual System::Web::UI::WebControls::WebParts::WebPartConnection ^ ConnectWebParts(System::Web::UI::WebControls::WebParts::WebPart ^ provider, System::Web::UI::WebControls::WebParts::ProviderConnectionPoint ^ providerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPart ^ consumer, System::Web::UI::WebControls::WebParts::ConsumerConnectionPoint ^ consumerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPartTransformer ^ transformer);
public virtual System.Web.UI.WebControls.WebParts.WebPartConnection ConnectWebParts (System.Web.UI.WebControls.WebParts.WebPart provider, System.Web.UI.WebControls.WebParts.ProviderConnectionPoint providerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPart consumer, System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint consumerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPartTransformer transformer);
abstract member ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint * System.Web.UI.WebControls.WebParts.WebPartTransformer -> System.Web.UI.WebControls.WebParts.WebPartConnection
override this.ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint * System.Web.UI.WebControls.WebParts.WebPartTransformer -> System.Web.UI.WebControls.WebParts.WebPartConnection
Public Overridable Function ConnectWebParts (provider As WebPart, providerConnectionPoint As ProviderConnectionPoint, consumer As WebPart, consumerConnectionPoint As ConsumerConnectionPoint, transformer As WebPartTransformer) As WebPartConnection
Parameter
- provider
- WebPart
Ein WebPart, der die Funktion erfüllt, Daten für ein anderes, mit ihm verbundenes Steuerelement bereitzustellen.
- providerConnectionPoint
- ProviderConnectionPoint
Eine öffentliche Methode in provider
, die mit einem ConnectionProvider
-Metadatenattribut gekennzeichnet ist und als Rückrufmethode für die Verbindung fungiert.
- consumer
- WebPart
Ein WebPart, der die Funktion erfüllt, Daten von provider
oder transformer
zu empfangen und dann zu verarbeiten oder anzuzeigen.
- consumerConnectionPoint
- ConsumerConnectionPoint
Eine öffentliche Methode in consumer
, die mit einem ConnectionConsumer
-Metadatenattribut gekennzeichnet ist und eine Verbindung mit providerConnectionPoint
herstellt, um die Daten für die Verbindung zu empfangen.
- transformer
- WebPartTransformer
Ein WebPartTransformer, der eine Verbindung zwischen zwei Steuerelementen ermöglicht, indem er die Daten von provider
in ein Format konvertiert, das von consumer
verarbeitet werden kann.
Gibt zurück
Eine WebPartConnection, die die Informationen zum Anbieter, Consumer und Transformator enthält, die für eine Verbindung benötigt werden.
Ausnahmen
Verbindungen wurden bereits in PreRender aktiviert.
Hinweise
Diese Überladung wird verwendet, um Steuerelemente zu verbinden, wenn deren Verbindungspunkte nicht kompatibel sind. Die Inkompatibilität tritt auf, wenn consumer
eine andere Schnittstelle als provider
als ihr Verbindungspunkt implementiert wird. Der Transformator konvertiert die Daten in einen Typ, der von consumer
verstanden werden kann.
Weitere Informationen
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- ASP.NET Webparts-Steuerelemente