Condividi tramite


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à

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 include quattro parti:

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

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

  • 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à inoltre 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 elemento, un <asp:webpartmanager><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à visualizzazione e selezionare Connetti per passare alla modalità di connessione. La modalità connetti usa l'elemento <asp:connectionszone> per consentire di creare connessioni tra i controlli. In modalità connetti fare clic sulla freccia verso il basso nella barra del titolo del controllo ZIP Code per attivare il menu verbi e quindi fare clic su Connetti. Dopo aver visualizzato l'interfaccia utente della 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 usata 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.

La raccolta 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