WebPartManager.ConnectWebParts Methode

Definitie

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 ConnectionProvider metagegevenskenmerk 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 ConnectionConsumer metagegevenskenmerk 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

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

Van toepassing op