WebPartManager.ConnectWebParts Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée une connexion entre deux contrôles WebPart (ou d'autres contrôles serveur capables de former des connexions) qui résident dans une zone WebPartZoneBase.
Surcharges
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) |
Crée une connexion entre deux contrôles WebPart ou GenericWebPart en utilisant uniquement les références aux contrôles et leurs objets ConnectionPoint spécifiés. |
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) |
Crée une connexion entre deux contrôles WebPart ou GenericWebPart à l'aide des références aux contrôles, de leurs objets ConnectionPoint spécifiés et d'un objet WebPartTransformer. |
Remarques
La ConnectWebParts méthode forme une connexion entre deux WebPart contrôles qui peuvent être connectés. Avant d’appeler cette méthode pour créer une connexion, vous pouvez également appeler la CanConnectWebParts méthode dans un contrôle conditionnel pour vous assurer que les contrôles répondent aux exigences de formation d’une connexion.
Notes
Il est également possible de créer une connexion entre deux contrôles serveur qui ne sont pas WebPart des contrôles. En général, les deux contrôles doivent être des contrôles serveur personnalisés (par exemple, des contrôles qui héritent de WebControl ou des contrôles serveur ASP.NET existants) afin que vous puissiez ajouter les membres requis. Les contrôles doivent également répondre aux exigences spécifiées ci-dessous.
Tout type de scénario de connexion entre deux contrôles doit répondre aux exigences suivantes pour pouvoir se connecter :
Chaque contrôle réside dans une WebPartZoneBase zone (il n’a pas besoin d’être la même zone).
Tel qu’il est implémenté dans le jeu de contrôles WebPart, le contrôle fournisseur dans une connexion implémente une interface en tant que méthode publique qui sert de rappel au fournisseur et possède un
ConnectionProvider
attribut de métadonnées sur la méthode pour l’identifier en tant que point de connexion du fournisseur. Étant donné que la GetProviderConnectionPoints méthode qui récupère les points de connexion du fournisseur est virtuelle, un contrôle dérivé WebPartManager n’a pas nécessairement besoin d’utiliser le même attribut de métadonnées.Tel qu’implémenté dans le jeu de contrôles WebPart, le contrôle consommateur dans une connexion a également une méthode spéciale qui lui permet d’obtenir une référence à l’interface exposée dans la méthode de rappel du fournisseur, et le consommateur a un
ConnectionConsumer
attribut de métadonnées sur la méthode pour l’identifier en tant que point de connexion consommateur. Étant donné que la GetConsumerConnectionPoints méthode qui récupère les points de connexion du consommateur est virtuelle, un contrôle dérivé WebPartManager n’a pas nécessairement besoin d’utiliser le même attribut de métadonnées.Les méthodes de rappel doivent être compatibles, car le consommateur peut utiliser le type d’interface fourni dans la méthode de rappel du fournisseur (ce qui signifie que le consommateur et le fournisseur peuvent partager des données directement), ou le développeur doit utiliser un WebPartTransformer objet pour transformer les données du fournisseur en une forme que le consommateur peut utiliser.
Important
Lorsque vous n’avez pas besoin d’un transformateur, utilisez la surcharge de méthode ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) . Lorsque vous avez besoin d’un transformateur, utilisez la surcharge de méthode ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) .
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)
Crée une connexion entre deux contrôles WebPart ou GenericWebPart en utilisant uniquement les références aux contrôles et leurs objets ConnectionPoint spécifiés.
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
Paramètres
- provider
- WebPart
Contrôle WebPart dont le rôle est de fournir des données à un autre contrôle connecté.
- providerConnectionPoint
- ProviderConnectionPoint
Méthode qui sert de méthode de rappel pour la connexion. Tel qu'implémenté dans le jeu de composants WebPart, il s'agit d'une méthode publique dans provider
qui est marquée avec un attribut de métadonnées ConnectionProvider
.
- consumer
- WebPart
Contrôle WebPart dont le rôle est de recevoir des données de provider
et de les traiter ensuite ou de les afficher.
- consumerConnectionPoint
- ConsumerConnectionPoint
Méthode qui se connecte avec providerConnectionPoint
pour recevoir les données pour la connexion. Tel qu'implémenté dans le jeu de composants WebPart, il s'agit d'une méthode publique dans consumer
qui est marquée avec un attribut de métadonnées ConnectionConsumer
.
Retours
WebPartConnection qui contient les différentes informations relatives au fournisseur et au consommateur nécessaires pour une connexion.
Exceptions
La collection de collections dynamiques du contrôle WebPartManager est en lecture seule.
Exemples
L’exemple de code suivant montre comment utiliser cette méthode pour créer une connexion par programmation. Pour obtenir le code complet requis pour exécuter l’exemple, consultez la section Exemple de la vue d’ensemble de la WebPartManager classe. À partir de cet exemple, vous aurez besoin du code source pour le contrôle utilisateur qui vous permet de modifier les modes d’affichage sur la page, et du code source pour les deux contrôles personnalisés WebPart .
Le code de la page Web qui héberge les deux contrôles est le suivant. La page utilise des Register
directives en haut pour déclarer le contrôle utilisateur et les contrôles personnalisés. Les contrôles personnalisés sont ensuite référencés de manière déclarative dans un <asp:webpartzone>
élément . Le code qui gère la Button1_Click
méthode crée une connexion entre les contrôles à l’aide de la ConnectWebParts méthode .
<%@ 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>
Après avoir chargé la page dans un navigateur, cliquez sur le bouton Connecter des contrôles WebPart pour former la connexion. Vous pouvez ensuite entrer des données dans la zone de texte, puis cliquer sur le bouton Entrer un code postal à 5 chiffres pour montrer que les contrôles sont connectés et que les données entrées dans le premier contrôle sont mises à jour dans le second.
Remarques
Cette surcharge est utilisée pour connecter des contrôles lorsque leurs points de connexion sont suffisamment compatibles pour qu’ils puissent se connecter sans utiliser d’objet WebPartTransformer . Lorsque cette surcharge de la méthode est appelée, elle passe simplement l’appel à l’autre version surchargée de la méthode et passe null
pour le paramètre qui nécessite un WebPartTransformer objet.
Lorsque vous tentez de connecter deux contrôles par programme, vous pouvez utiliser la CanConnectWebParts méthode dans une vérification conditionnelle pour déterminer si les contrôles peuvent être directement connectés.
Voir aussi
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- contrôles webPart ASP.NET
S’applique à
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)
Crée une connexion entre deux contrôles WebPart ou GenericWebPart à l'aide des références aux contrôles, de leurs objets ConnectionPoint spécifiés et d'un objet WebPartTransformer.
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
Paramètres
- providerConnectionPoint
- ProviderConnectionPoint
Méthode publique dans provider
qui est marquée avec un attribut de métadonnées ConnectionProvider
et qui sert de méthode de rappel pour la connexion.
- consumer
- WebPart
WebPart dont le rôle est de recevoir des données de provider
ou de transformer
et de les traiter ou de les afficher.
- consumerConnectionPoint
- ConsumerConnectionPoint
Méthode publique dans consumer
qui est marquée avec un attribut de métadonnées ConnectionConsumer
et se connecte avec providerConnectionPoint
pour recevoir les données pour la connexion.
- transformer
- WebPartTransformer
WebPartTransformer qui active une connexion entre deux contrôles en convertissant les données de provider
dans un format pouvant être traité par consumer
.
Retours
WebPartConnection qui contient les informations relatives au fournisseur, au consommateur et au transformateur nécessaires pour une connexion.
Exceptions
Des connexions ont déjà été activées dans PreRender.
Remarques
Cette surcharge est utilisée pour connecter des contrôles lorsque leurs points de connexion sont incompatibles. L’incompatibilité se produit lorsque consumer
implémente une interface différente de provider
celle de son point de connexion. Le transformateur convertit les données en un type qui peut être compris par consumer
.
Voir aussi
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- contrôles webPart ASP.NET