WebPartManager.GetConsumerConnectionPoints(WebPart) 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.
Recupera l'insieme di oggetti ConsumerConnectionPoint che possono fungere da punti di connessione da un controllo server che funge da consumer all'interno di una connessione Web part.
public:
virtual System::Web::UI::WebControls::WebParts::ConsumerConnectionPointCollection ^ GetConsumerConnectionPoints(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public virtual System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection GetConsumerConnectionPoints (System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member GetConsumerConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection
override this.GetConsumerConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection
Public Overridable Function GetConsumerConnectionPoints (webPart As WebPart) As ConsumerConnectionPointCollection
Parametri
- webPart
- WebPart
Controllo server che funge da consumer in una connessione.
Restituisce
Classe ConsumerConnectionPointCollection che contiene tutti i punti di connessione del consumer.
Eccezioni
webPart
è null
.
Esempio
Nell'esempio di codice riportato di seguito viene illustrato come utilizzare il metodo GetConsumerConnectionPoints.
L'esempio di codice ha quattro parti:
Controllo utente che consente di modificare le modalità di visualizzazione in una pagina web part.
Pagina Web che contiene due controlli personalizzati WebPart che possono essere connessi e un
<asp:webpartmanager>
elemento.File di codice sorgente che contiene due controlli personalizzati WebPart e un'interfaccia personalizzata.
Spiegazione del funzionamento dell'esempio in un browser.
La prima parte dell'esempio di codice è il controllo utente per modificare le modalità di visualizzazione. È possibile ottenere il codice sorgente per il controllo utente dalla sezione Esempio della panoramica della WebPartManager classe. Per altre informazioni sulle modalità di visualizzazione e sul funzionamento del controllo utente, vedere l'argomento Procedura dettagliata: Modifica delle modalità di visualizzazione in una pagina web part.
Il markup dichiarativo per la pagina Web contiene Register
direttive sia per il controllo utente che per i controlli personalizzati. È presente un <asp:webpartmanager>
elemento , un <asp:webpartzone>
elemento che contiene i controlli personalizzati e un <asp:connectionszone>
elemento . Si noti che nel Page_Load
metodo il codice verifica se esiste già una connessione e, in caso contrario, definisce un provider, un consumer e i rispettivi punti di connessione e quindi aggiunge una nuova connessione al set di connessioni statiche a cui fa riferimento la StaticConnections proprietà . Si noti che l'oggetto ConsumerConnectionPointCollection recuperato tramite il GetConsumerConnectionPoints metodo viene quindi passato al CanConnectWebParts metodo per determinare se è possibile creare una connessione tra i due controlli.
<%@ 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 Page_Load(object sender, EventArgs e)
{
// Define provider, consumer, and connection points.
WebPart provider = mgr.WebParts["zip1"];
ProviderConnectionPoint provConnPoint =
mgr.GetProviderConnectionPoints(provider)["ZipCodeProvider"];
WebPart consumer = mgr.WebParts["weather1"];
ConsumerConnectionPoint consConnPoint =
mgr.GetConsumerConnectionPoints(consumer)["ZipCodeConsumer"];
// Check whether the connection already exists.
if (mgr.CanConnectWebParts(provider, provConnPoint,
consumer, consConnPoint))
{
// Create a new static connection.
WebPartConnection conn = new WebPartConnection();
conn.ID = "staticConn1";
conn.ConsumerID = "weather1";
conn.ConsumerConnectionPointID = "ZipCodeConsumer";
conn.ProviderID = "zip1";
conn.ProviderConnectionPointID = "ZipCodeProvider";
mgr.StaticConnections.Add(conn);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<!-- Reference the WebPartManager control. -->
<asp:WebPartManager ID="mgr" runat="server" />
<div>
<uc1:DisplayModeMenuCS ID="displaymode1"
runat="server" />
<!-- Reference consumer and provider controls
in a zone. -->
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<aspSample:ZipCodeWebPart ID="zip1"
runat="server"
Title="Zip Code Control"/>
<aspSample:WeatherWebPart ID="weather1"
runat="server"
Title="Weather Control" />
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<!-- Add a ConnectionsZone so users can connect
controls. -->
<asp:ConnectionsZone ID="ConnectionsZone1"
runat="server" />
</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 Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
' Define provider, consumer, and connection points.
Dim provider As WebPart = mgr.WebParts("zip1")
Dim provConnPoint As ProviderConnectionPoint = _
mgr.GetProviderConnectionPoints(provider)("ZipCodeProvider")
Dim consumer As WebPart = mgr.WebParts("weather1")
Dim consConnPoint As ConsumerConnectionPoint = _
mgr.GetConsumerConnectionPoints(consumer)("ZipCodeConsumer")
' Check whether the connection already exists.
If mgr.CanConnectWebParts(provider, provConnPoint, _
consumer, consConnPoint) Then
' Create a new static connection.
Dim conn As New WebPartConnection()
conn.ID = "staticConn1"
conn.ConsumerID = "weather1"
conn.ConsumerConnectionPointID = "ZipCodeConsumer"
conn.ProviderID = "zip1"
conn.ProviderConnectionPointID = "ZipCodeProvider"
mgr.StaticConnections.Add(conn)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<!-- Reference the WebPartManager control. -->
<asp:WebPartManager ID="mgr" runat="server" />
<div>
<uc1:DisplayModeMenuVB ID="displaymode1"
runat="server" />
<!-- Reference consumer and provider controls
in a zone. -->
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<aspSample:ZipCodeWebPart ID="zip1"
runat="server"
Title="Zip Code Control"/>
<aspSample:WeatherWebPart ID="weather1"
runat="server"
Title="Weather Control" />
</ZoneTemplate>
</asp:WebPartZone>
<hr />
<!-- Add a ConnectionsZone so users can connect
controls. -->
<asp:ConnectionsZone ID="ConnectionsZone1"
runat="server" />
</div>
</form>
</body>
</html>
La terza parte dell'esempio è il codice sorgente per i controlli. È possibile ottenere questo codice e istruzioni per la compilazione, dalla sezione Esempio della panoramica della WebPartManager classe.
Dopo aver caricato la pagina Web in un browser, fare clic sul controllo elenco a discesa Modalità di visualizzazione e selezionare Connetti per passare alla modalità di connessione. La modalità di connessione usa l'elemento <asp:connectionszone>
per consentire di creare connessioni tra i controlli. In modalità di connessione fare clic sulla freccia rivolta verso il basso nella barra del titolo del controllo CAP per attivare il menu dei verbi e quindi fare clic su Connetti. Dopo aver visualizzato l'interfaccia utente di connessione, si noti che una connessione è già stata creata dal codice contenuto nel Page_Load
metodo . Se si torna a questa pagina in una sessione del browser successiva, questa connessione statica verrà già stabilita e non sarà necessario ricreare ogni volta che la pagina viene caricata.
Commenti
Una connessione web part implica sempre esattamente due controlli, uno che funge da provider di dati, l'altro che funge da consumer di dati. Ogni controllo deve avere uno o più metodi definiti come punti di connessione. Nel caso di un controllo consumer, i relativi punti di connessione sono ConsumerConnectionPoint oggetti . Il recupero dei punti di connessione consumer è un passaggio necessario per formare una connessione Web part.
Un consumer deve avere sempre almeno un punto di connessione per poter stabilire una connessione. Il GetConsumerConnectionPoints metodo controlla un controllo consumer e recupera una raccolta di tutti i relativi punti di connessione. Se un WebPart controllo non dispone di punti di connessione, il metodo restituisce una raccolta vuota.