WebPartManager.StaticConnections Egenskap

Definition

Hämtar en referens till samlingen med alla WebPartConnection objekt på en webbsida som definieras som statiska anslutningar.

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

Egenskapsvärde

En WebPartConnectionCollection som innehåller alla statiska anslutningar på sidan.

Attribut

Exempel

I följande kodexempel visas programmatisk användning av StaticConnections egenskapen.

Kodexemplet har fyra delar:

  • En användarkontroll som gör att du kan ändra visningslägen på en webbdelssida.

  • En källkodsfil som innehåller två anpassade WebPart kontroller och ett anpassat gränssnitt.

  • En webbsida som innehåller två anpassade WebPart kontroller som kan anslutas och ett <asp:webpartmanager> element.

  • En förklaring av hur exemplet fungerar i en webbläsare.

Följande kod innehåller endast webbsidedelen i exemplet. Du måste också hämta de två första delarna av exemplet – den anpassade användarkontrollen och källkoden för de anpassade kontrollerna och gränssnittet – från avsnittet Exempel i klassöversikten WebPartManager . Det här avsnittet beskriver också dina alternativ för att kompilera WebPart kontrollerna.

Den tredje delen av kodexemplet är webbsidan. Den deklarativa markeringen för sidan innehåller Register direktiv för både användarkontrollen och de anpassade kontrollerna. Det finns ett <asp:webpartmanager> element, ett <asp:webpartzone> element som ska innehålla de anpassade kontrollerna och ett <asp:connectionszone> element. Observera att koden i Page_Load metoden kontrollerar om det redan finns en anslutning och, om inte, definierar en provider, en konsument och deras respektive anslutningspunkter och lägger sedan till en ny anslutning till den uppsättning statiska anslutningar som refereras av StaticConnections egenskapen.

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

När du har läst in webbsidan i en webbläsare klickar du på listrutan Visningsläge och väljer Anslut för att växla sidan till anslutningsläge. I anslutningsläget används elementet <asp:connectionszone> för att du ska kunna skapa anslutningar mellan kontroller. I anslutningsläge klickar du på nedåtpilen i namnlisten på postnummerkontrollen för att aktivera verbmenyn och klickar sedan på Anslut. När anslutningsanvändargränssnittet (UI) visas bör du observera att en anslutning redan har skapats av koden i Page_Load metoden. Om du återgår till den här sidan i en senare webbläsarsession kommer den här statiska anslutningen redan att upprättas och behöver inte återskapas varje gång sidan läses in.

Kommentarer

Egenskapen StaticConnections används av WebPartManager kontrollen för att spåra och hantera alla statiska anslutningar på en sida. En statisk anslutning, till skillnad från en dynamisk anslutning, behöver inte läggas till på en sida varje gång sidan återges.

Samlingen som refereras av den här egenskapen innehåller alla statiska anslutningar som finns på sidan, oavsett om de skapas programmatiskt eller anges med ett <asp:webpartconnection> element i sidans markering.

Gäller för

Se även