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 anderen Serversteuerelementen, die Verbindungen bilden können), die sich in einer WebPartZoneBase Zone befinden.
Überlädt
| Name | Beschreibung |
|---|---|
| ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) |
Erstellt eine Verbindung zwischen zwei WebPart oder GenericWebPart Steuerelementen, die nur die Verweise auf die Steuerelemente und deren angegebene ConnectionPoint Objekte verwenden. |
| ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) |
Erstellt eine Verbindung zwischen zwei WebPart oder GenericWebPart Steuerelementen mithilfe der Verweise auf die Steuerelemente, deren angegebene ConnectionPoint Objekte und ein WebPartTransformer Objekt. |
Hinweise
Die ConnectWebParts Methode bildet eine Verbindung zwischen zwei WebPart beliebigen Steuerelementen, die verbunden werden können. Bevor Sie diese Methode zum Erstellen einer Verbindung aufrufen, sollten Sie die CanConnectWebParts Methode auch in einer bedingten Überprüfung aufrufen, um sicherzustellen, dass die Steuerelemente die Anforderungen für die Erstellung einer Verbindung erfüllen.
Note
Es ist auch möglich, eine Verbindung zwischen zwei Serversteuerelementen zu erstellen, 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.
Jedes 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 Webpart-Steuerelementsatz implementiert, implementiert das Anbietersteuerelement in einer Verbindung eine Schnittstelle als öffentliche Methode, die als Rückruf an den Anbieter dient, und verfügt über ein
ConnectionProviderMetadatenattribut für die Methode, um es als Anbieterverbindungspunkt zu identifizieren. Da die GetProviderConnectionPoints Methode, die Anbieterverbindungspunkte abruft, virtuell ist, muss ein abgeleitetes WebPartManager Steuerelement nicht unbedingt dasselbe Metadaten-Attribut verwenden.Wie im Webpart-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
ConnectionConsumerMetadatenattribut für die Methode, um es als Consumerverbindungspunkt zu identifizieren. Da die GetConsumerConnectionPoints Methode, die Consumerverbindungspunkte abruft, virtuell ist, muss ein abgeleitetes WebPartManager Steuerelement nicht unbedingt dasselbe Metadaten-Attribut verwenden.Die Rückrufmethoden müssen entweder kompatibel sein, da der Verbraucher den Typ der Schnittstelle verwenden kann, die in der Rückrufmethode des Anbieters bereitgestellt wird (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 Verbraucher verwenden kann.
Important
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 eine Verbindung zwischen zwei WebPart oder GenericWebPart Steuerelementen, die nur die Verweise auf die Steuerelemente und deren angegebene ConnectionPoint Objekte verwenden.
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 Rolle der Einrichtung von Daten an ein anderes verbundenes Steuerelement hat.
- providerConnectionPoint
- ProviderConnectionPoint
Eine Methode, die als Rückrufmethode für die Verbindung dient. Wie im Webpart-Steuerelementsatz implementiert, ist dies eine öffentliche Methode, die provider mit einem ConnectionProvider Metadaten-Attribut gekennzeichnet ist.
- consumer
- WebPart
Ein WebPart Steuerelement, das die Rolle des Empfangens von Daten und anschließendes Verarbeiten oder Anzeigen von Daten providerhat.
- consumerConnectionPoint
- ConsumerConnectionPoint
Eine Methode, die eine Verbindung herstellt providerConnectionPoint , mit der die Daten für die Verbindung empfangen werden. Wie im Webpart-Steuerelementsatz implementiert, ist dies eine öffentliche Methode, die consumer mit einem ConnectionConsumer Metadaten-Attribut gekennzeichnet ist.
Gibt zurück
A WebPartConnection that contains the various information about the provider and the consumer needed for a connection.
Ausnahmen
Die WebPartManager Sammlung dynamischer Auflistungen des 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 Anzeigemodi auf der Seite und den Quellcode für die beiden benutzerdefinierten WebPart Steuerelemente ändern können.
Der Code für die Webseite, auf der die beiden Steuerelemente gehostet werden, folgt. Die Seite verwendet Register Direktiven oben, um das Benutzersteuerelement und die benutzerdefinierten Steuerelemente zu deklarieren. Auf die benutzerdefinierten Steuerelemente wird dann deklarativ innerhalb eines <asp:webpartzone> Elements verwiesen. Der Code, der die Methode behandelt, erstellt mithilfe der Button1_ClickConnectWebParts Methode eine Verbindung zwischen den Steuerelementen.
<%@ 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 zu bilden. Sie können dann einige Daten in das Textfeld eingeben und auf die Schaltfläche " Postleitzahl eingeben " klicken, um zu veranschaulichen, 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 ihre Verbindungspunkte ausreichend kompatibel sind, ohne ein WebPartTransformer Objekt zu verwenden. 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 Webpart-Steuerelemente
Gilt für:
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)
Erstellt eine Verbindung zwischen zwei WebPart oder GenericWebPart Steuerelementen mithilfe der Verweise auf die Steuerelemente, deren angegebene ConnectionPoint Objekte und ein WebPartTransformer Objekt.
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
Eine WebPart , die die Rolle der Einrichtung von Daten an ein anderes verbundenes Steuerelement hat.
- providerConnectionPoint
- ProviderConnectionPoint
Eine öffentliche Methode, die provider mit einem ConnectionProvider Metadatenattribut gekennzeichnet ist und als Rückrufmethode für die Verbindung dient.
- consumer
- WebPart
A WebPart that has the role of receiving data from provider or transformer, and then processing or displaying it.
- consumerConnectionPoint
- ConsumerConnectionPoint
Eine öffentliche Methode, die consumer mit einem ConnectionConsumer Metadaten-Attribut gekennzeichnet ist und eine Verbindung mit providerConnectionPoint dem Empfangen der Daten für die Verbindung herstellt.
- transformer
- WebPartTransformer
Ein WebPartTransformer Steuerelement, das eine Verbindung zwischen zwei Steuerelementen ermöglicht, indem die Daten in provider ein Format konvertiert werden, das consumer verarbeitet werden kann.
Gibt zurück
Eine WebPartConnection , die die Informationen über den Anbieter, den Verbraucher und den Transformator enthält, der für eine Verbindung benötigt wird.
Ausnahmen
Verbindungen wurden bereits aktiviert in PreRender.
Hinweise
Diese Überladung wird verwendet, um Steuerelemente zu verbinden, wenn ihre Verbindungspunkte nicht kompatibel sind. Die Inkompatibilität tritt auf, wenn consumer eine andere Schnittstelle als provider ihr Verbindungspunkt implementiert wird. Der Transformator wandelt die Daten in einen Typ um, der verstanden consumerwerden kann.
Weitere Informationen
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- ASP.NET Webpart-Steuerelemente