Share via


WebPartManager.StaticConnections Proprietà

Definizione

Ottiene un riferimento all'insieme di tutti gli oggetti WebPartConnection in una pagina Web definiti come connessioni statiche.

public:
 property System::Web::UI::WebControls::WebParts::WebPartConnectionCollection ^ StaticConnections { System::Web::UI::WebControls::WebParts::WebPartConnectionCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.WebParts.WebPartConnectionCollection StaticConnections { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.StaticConnections : System.Web.UI.WebControls.WebParts.WebPartConnectionCollection
Public ReadOnly Property StaticConnections As WebPartConnectionCollection

Valore della proprietà

WebPartConnectionCollection

Classe WebPartConnectionCollection che contiene tutte le connessioni statiche presenti nella pagina.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato l'uso a livello di codice della StaticConnections proprietà .

L'esempio di codice ha quattro parti:

  • Controllo utente che consente di modificare le modalità di visualizzazione in una pagina di Web part.

  • File di codice sorgente che contiene due controlli personalizzati WebPart e un'interfaccia personalizzata.

  • Pagina Web che contiene due controlli personalizzati WebPart che possono essere connessi e un <asp:webpartmanager> elemento.

  • Spiegazione del funzionamento dell'esempio in un browser.

Il codice seguente contiene solo la parte della pagina Web dell'esempio. Sarà anche necessario ottenere le prime due parti del controllo utente personalizzato e il codice sorgente per i controlli personalizzati e l'interfaccia, dalla sezione Esempio della panoramica della WebPartManager classe. Questo argomento illustra anche le opzioni per la compilazione dei WebPart controlli.

La terza parte dell'esempio di codice è la pagina Web. Il markup dichiarativo per la pagina 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à .

<%@ 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>

Dopo aver caricato la pagina Web in un browser, fare clic sul controllo elenco a discesa Modalità di visualizzazione e selezionare Connessione per passare alla modalità di connessione della pagina. Connessione modalità usa l'elemento <asp:connectionszone> per consentire di creare connessioni tra i controlli. In modalità di connessione fare clic sulla freccia verso il basso nella barra del titolo del controllo ZIP Code per attivare il menu dei verbi e quindi fare clic su Connessione. 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

La StaticConnections proprietà viene utilizzata dal WebPartManager controllo per tenere traccia e gestire tutte le connessioni statiche in una pagina. Una connessione statica, a differenza di una connessione dinamica, non deve essere aggiunta a una pagina ogni volta che viene eseguito il rendering della pagina.

L'insieme a cui fa riferimento questa proprietà contiene tutte le connessioni statiche presenti nella pagina, indipendentemente dal fatto che vengano create a livello di codice o specificate con un <asp:webpartconnection> elemento nel markup della pagina.

Si applica a

Vedi anche