WebPartManager.ConnectWebParts Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een verbinding tussen twee WebPart besturingselementen (of andere serverbesturingselementen die verbindingen kunnen vormen) die zich in een WebPartZoneBase zone bevinden.
Overloads
| Name | Description |
|---|---|
| ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) |
Hiermee maakt u een verbinding tussen twee WebPart of GenericWebPart besturingselementen met alleen de verwijzingen naar de besturingselementen en de opgegeven ConnectionPoint objecten. |
| ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) |
Hiermee maakt u een verbinding tussen twee WebPart of GenericWebPart besturingselementen met behulp van de verwijzingen naar de besturingselementen, de opgegeven ConnectionPoint objecten en een WebPartTransformer object. |
Opmerkingen
De ConnectWebParts methode vormt een verbinding tussen twee WebPart besturingselementen die kunnen worden verbonden. Voordat u deze methode aanroept om een verbinding te maken, kunt u de CanConnectWebParts methode ook aanroepen in een voorwaardelijke controle om ervoor te zorgen dat de besturingselementen voldoen aan de vereisten voor het vormen van een verbinding.
Note
Het is ook mogelijk om een verbinding te maken tussen twee serverbesturingselementen die geen WebPart besturingselementen zijn. Over het algemeen moeten de twee besturingselementen aangepaste serverbesturingselementen zijn (bijvoorbeeld besturingselementen die overnemen van WebControl of bestaande ASP.NET serverbesturingselementen) zodat u de vereiste leden kunt toevoegen. De besturingselementen moeten ook voldoen aan de vereisten die hieronder zijn opgegeven.
Elk type verbindingsscenario tussen twee besturingselementen moet voldoen aan de volgende vereisten om verbinding te kunnen maken:
Elk besturingselement bevindt zich in een WebPartZoneBase zone (deze hoeft niet dezelfde zone te zijn).
Zoals geïmplementeerd in de besturingsset webonderdelen, implementeert het providerbeheer in een verbinding een interface als een openbare methode die fungeert als een callback naar de provider en heeft een
ConnectionProvidermetagegevenskenmerk voor de methode om het te identificeren als een providerverbindingspunt. Omdat de methode voor het GetProviderConnectionPoints ophalen van providerverbindingspunten virtueel is, hoeft een afgeleid WebPartManager besturingselement niet per se hetzelfde metagegevenskenmerk te gebruiken.Zoals geïmplementeerd in de webonderdelenbeheerset, heeft het consumentenbeheer in een verbinding ook een speciale methode waarmee deze een verwijzing kan krijgen naar de interface die beschikbaar is in de callback-methode van de provider en de consument een
ConnectionConsumermetagegevenskenmerk heeft voor de methode om deze te identificeren als een consumentenaansluitpunt. Omdat de methode voor het GetConsumerConnectionPoints ophalen van consumentenverbindingspunten virtueel is, hoeft een afgeleid WebPartManager besturingselement niet noodzakelijkerwijs hetzelfde metagegevenskenmerk te gebruiken.De callback-methoden moeten compatibel zijn, omdat de consument het type interface kan gebruiken dat is opgegeven in de callbackmethode van de provider (wat betekent dat de consument en provider gegevens rechtstreeks kunnen delen), of dat de ontwikkelaar een WebPartTransformer object moet gebruiken om de gegevens van de provider te transformeren in een formulier dat de consument kan gebruiken.
Important
Wanneer u geen transformator nodig hebt, gebruikt u de overbelasting van de ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) methode. Wanneer u een transformator nodig hebt, gebruikt u de overbelasting van de ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) methode.
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)
Hiermee maakt u een verbinding tussen twee WebPart of GenericWebPart besturingselementen met alleen de verwijzingen naar de besturingselementen en de opgegeven ConnectionPoint objecten.
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
Parameters
- provider
- WebPart
Een WebPart besturingselement met de rol van het inrichten van gegevens aan een ander verbonden besturingselement.
- providerConnectionPoint
- ProviderConnectionPoint
Een methode die fungeert als een callback-methode voor de verbinding. Zoals geïmplementeerd in de besturingsset webonderdelen, is dit een openbare methode provider die is gemarkeerd met een ConnectionProvider metagegevenskenmerk.
- consumer
- WebPart
Een WebPart besturingselement met de rol van het ontvangen van gegevens provideren vervolgens verwerken of weergeven.
- consumerConnectionPoint
- ConsumerConnectionPoint
Een methode waarmee verbinding wordt gemaakt om providerConnectionPoint de gegevens voor de verbinding te ontvangen. Zoals geïmplementeerd in de besturingsset webonderdelen, is dit een openbare methode consumer die is gemarkeerd met een ConnectionConsumer metagegevenskenmerk.
Retouren
Een WebPartConnection met de verschillende informatie over de provider en de consument die nodig is voor een verbinding.
Uitzonderingen
De WebPartManager verzameling dynamische verzamelingen van het besturingselement is alleen-lezen.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u deze methode gebruikt om programmatisch een verbinding te maken. Zie de sectie Voorbeeld van het WebPartManager klassenoverzicht voor de volledige code die nodig is om het voorbeeld uit te voeren. In dat voorbeeld hebt u de broncode nodig voor het gebruikersbesturingselement waarmee u weergavemodi op de pagina en de broncode voor de twee aangepaste WebPart besturingselementen kunt wijzigen.
De code voor de webpagina waarop de twee besturingselementen worden gehost, volgt. De pagina gebruikt Register instructies bovenaan om het gebruikersbesturingselement en de aangepaste besturingselementen te declareren. De aangepaste besturingselementen worden vervolgens declaratief binnen een <asp:webpartzone> element verwezen. De code waarmee de Button1_Click methode wordt verwerkt, maakt een verbinding tussen de besturingselementen met behulp van de ConnectWebParts methode.
<%@ 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>
Nadat u de pagina in een browser hebt geladen, klikt u op de knop Webonderdeelbesturingselementen verbinden om de verbinding te vormen. U kunt vervolgens enkele gegevens invoeren in het tekstvak en op de knop 5-cijferige postcode invoeren om aan te tonen dat de besturingselementen zijn verbonden en dat de gegevens die in het eerste besturingselement zijn ingevoerd, in de tweede worden bijgewerkt.
Opmerkingen
Deze overbelasting wordt gebruikt om besturingselementen te verbinden wanneer hun verbindingspunten voldoende compatibel zijn dat ze verbinding kunnen maken zonder een WebPartTransformer object te gebruiken. Wanneer deze overbelasting van de methode wordt aangeroepen, wordt de aanroep gewoon doorgegeven aan de andere overbelaste versie van de methode en doorgegeven null aan de parameter waarvoor een WebPartTransformer object is vereist.
Wanneer u probeert twee besturingselementen programmatisch te verbinden, kunt u de CanConnectWebParts methode in een voorwaardelijke controle gebruiken om te bepalen of de besturingselementen rechtstreeks kunnen worden verbonden.
Zie ook
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- ASP.NET besturingselementen voor webonderdelen
Van toepassing op
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)
Hiermee maakt u een verbinding tussen twee WebPart of GenericWebPart besturingselementen met behulp van de verwijzingen naar de besturingselementen, de opgegeven ConnectionPoint objecten en een WebPartTransformer object.
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
Parameters
- provider
- WebPart
Een WebPart die de rol heeft van het inrichten van gegevens aan een ander verbonden besturingselement.
- providerConnectionPoint
- ProviderConnectionPoint
Een openbare methode die provider is gemarkeerd met een ConnectionProvider metagegevenskenmerk en fungeert als een callback-methode voor de verbinding.
- consumer
- WebPart
Een WebPart die de rol heeft van het ontvangen van gegevens van provider of transformer, en deze vervolgens verwerkt of weergeeft.
- consumerConnectionPoint
- ConsumerConnectionPoint
Een openbare methode die consumer is gemarkeerd met een ConnectionConsumer metagegevenskenmerk en verbinding maakt met providerConnectionPoint het ontvangen van de gegevens voor de verbinding.
- transformer
- WebPartTransformer
Een WebPartTransformer die een verbinding tussen twee besturingselementen mogelijk maakt door de gegevens te converteren naar provider een indeling die consumer kan worden verwerkt.
Retouren
Een WebPartConnection met de informatie over de provider, consument en transformator die nodig is voor een verbinding.
Uitzonderingen
Verbindingen zijn al geactiveerd.PreRender
Opmerkingen
Deze overbelasting wordt gebruikt om besturingselementen te verbinden wanneer hun verbindingspunten niet compatibel zijn. De incompatibiliteit treedt op wanneer consumer een andere interface wordt geïmplementeerd dan provider als verbindingspunt. De transformator converteert de gegevens naar een type dat kan worden begrepen door consumer.
Zie ook
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- ASP.NET besturingselementen voor webonderdelen