WebPartManager.ConnectWebParts Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea una connessione tra due WebPart controlli (o altri controlli server in grado di formare connessioni) che risiedono in una WebPartZoneBase zona.
Overload
| Nome | Descrizione |
|---|---|
| ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) |
Crea una connessione tra due WebPart controlli o GenericWebPart utilizzando solo i riferimenti ai controlli e ai relativi oggetti specificati ConnectionPoint . |
| ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) |
Crea una connessione tra due WebPart controlli o GenericWebPart utilizzando i riferimenti ai controlli, ai relativi oggetti specificati ConnectionPoint e a un WebPartTransformer oggetto . |
Commenti
Il ConnectWebParts metodo costituisce una connessione tra due WebPart controlli che possono essere connessi. Prima di chiamare questo metodo per creare una connessione, è anche possibile chiamare il CanConnectWebParts metodo in un controllo condizionale per assicurarsi che i controlli soddisfino i requisiti per la creazione di una connessione.
Note
È anche possibile creare una connessione tra due controlli server che non WebPart sono controlli. In generale, i due controlli devono essere controlli server personalizzati (ad esempio, controlli che ereditano da WebControl o controlli server ASP.NET esistenti) in modo da poter aggiungere i membri necessari. I controlli devono anche soddisfare i requisiti specificati di seguito.
Qualsiasi tipo di scenario di connessione tra due controlli deve soddisfare i requisiti seguenti per potersi connettere:
Ogni controllo si trova in una WebPartZoneBase zona (non deve essere la stessa zona).
Come implementato nel set di controlli Web part, il controllo del provider in una connessione implementa un'interfaccia come metodo pubblico che funge da callback al provider e ha un
ConnectionProviderattributo di metadati sul metodo per identificarlo come punto di connessione del provider. Poiché il GetProviderConnectionPoints metodo che recupera i punti di connessione del provider è virtuale, un controllo derivato WebPartManager non deve necessariamente usare lo stesso attributo di metadati.Come implementato nel set di controlli Web part, il controllo consumer in una connessione ha anche un metodo speciale che consente di ottenere un riferimento all'interfaccia esposta nel metodo di callback del provider e il consumer dispone di un
ConnectionConsumerattributo di metadati sul metodo per identificarlo come punto di connessione consumer. Poiché il GetConsumerConnectionPoints metodo che recupera i punti di connessione consumer è virtuale, un controllo derivato WebPartManager non deve necessariamente usare lo stesso attributo di metadati.I metodi di callback devono essere compatibili, in quanto il consumer può usare il tipo di interfaccia fornita nel metodo di callback del provider (ovvero il consumer e il provider possono condividere i dati direttamente) oppure lo sviluppatore deve usare un WebPartTransformer oggetto per trasformare i dati dal provider in un formato che il consumer può usare.
Importante
Quando non è necessario un trasformatore, usare l'overload del ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) metodo . Quando è necessario un trasformatore, usare l'overload del ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) metodo .
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)
Crea una connessione tra due WebPart controlli o GenericWebPart utilizzando solo i riferimenti ai controlli e ai relativi oggetti specificati ConnectionPoint .
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
Parametri
- provider
- WebPart
Controllo WebPart che ha il ruolo di arredare i dati a un altro controllo connesso.
- providerConnectionPoint
- ProviderConnectionPoint
Metodo che funge da metodo di callback per la connessione. Come implementato nel set di controlli Web part, si tratta di un metodo pubblico in che provider è contrassegnato con un ConnectionProvider attributo di metadati.
- consumer
- WebPart
Controllo WebPart che ha il ruolo di ricevere dati da providere quindi elaborarli o visualizzarli.
- consumerConnectionPoint
- ConsumerConnectionPoint
Metodo che si connette a providerConnectionPoint per ricevere i dati per la connessione. Come implementato nel set di controlli Web part, si tratta di un metodo pubblico in che consumer è contrassegnato con un ConnectionConsumer attributo di metadati.
Valori restituiti
Oggetto WebPartConnection contenente le varie informazioni sul provider e sul consumer necessario per una connessione.
Eccezioni
La WebPartManager raccolta di raccolte dinamiche del controllo è di sola lettura.
Esempio
Nell'esempio di codice seguente viene illustrato come usare questo metodo per creare una connessione a livello di codice. Per il codice completo necessario per eseguire l'esempio, vedere la sezione Esempio della panoramica della WebPartManager classe. Da questo esempio sarà necessario il codice sorgente per il controllo utente che consente di modificare le modalità di visualizzazione nella pagina e il codice sorgente per i due controlli personalizzati WebPart .
Il codice per la pagina Web che ospita i due controlli segue. La pagina usa direttive Register nella parte superiore per dichiarare il controllo utente e i controlli personalizzati. I controlli personalizzati vengono quindi a cui viene fatto riferimento in modo dichiarativo all'interno di un <asp:webpartzone> elemento . Il codice che gestisce il Button1_Click metodo crea una connessione tra i controlli utilizzando il ConnectWebParts metodo .
<%@ 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>
Dopo aver caricato la pagina in un browser, fare clic sul pulsante Connetti controlli WebPart per formare la connessione. È quindi possibile immettere alcuni dati nella casella di testo e fare clic sul pulsante Immetti codice postale a 5 cifre per dimostrare che i controlli sono connessi e che i dati immessi nel primo controllo vengono aggiornati nel secondo.
Commenti
Questo overload viene usato per connettere i controlli quando i relativi punti di connessione sono sufficientemente compatibili che possono connettersi senza usare un WebPartTransformer oggetto . Quando viene chiamato questo overload del metodo, passa semplicemente la chiamata all'altra versione di overload del metodo e passa null per il parametro che richiede un WebPartTransformer oggetto .
Quando si tenta di connettere due controlli a livello di codice, è possibile usare il CanConnectWebParts metodo in un controllo condizionale per determinare se i controlli possono essere connessi direttamente.
Vedi anche
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- controlli web part ASP.NET
Si applica a
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)
Crea una connessione tra due WebPart controlli o GenericWebPart utilizzando i riferimenti ai controlli, ai relativi oggetti specificati ConnectionPoint e a un WebPartTransformer oggetto .
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
Parametri
- providerConnectionPoint
- ProviderConnectionPoint
Un metodo pubblico in provider che è contrassegnato con un ConnectionProvider attributo di metadati e funge da metodo di callback per la connessione.
- consumer
- WebPart
Oggetto WebPart che ha il ruolo di ricevere dati da provider o transformere quindi elaborarli o visualizzarli.
- consumerConnectionPoint
- ConsumerConnectionPoint
Metodo pubblico in consumer contrassegnato con un ConnectionConsumer attributo di metadati e si connette providerConnectionPoint a per ricevere i dati per la connessione.
- transformer
- WebPartTransformer
Oggetto WebPartTransformer che consente una connessione tra due controlli convertendo i dati da provider a un formato in consumer grado di elaborare.
Valori restituiti
Oggetto WebPartConnection contenente le informazioni sul provider, il consumer e il trasformatore necessari per una connessione.
Eccezioni
Le connessioni sono già state attivate in PreRender.
Commenti
Questo overload viene usato per connettere i controlli quando i relativi punti di connessione non sono compatibili. L'incompatibilità si verifica quando consumer implementa un'interfaccia diversa da provider quella del punto di connessione. Il trasformatore converte i dati in un tipo che può essere compreso da consumer.
Vedi anche
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- controlli web part ASP.NET