Share via


WebPartManager.StaticConnections Propriété

Définition

Obtient une référence à la collection de tous les objets WebPartConnection d'une page Web définis comme des connexions statiques.

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

Valeur de propriété

WebPartConnectionCollection

WebPartConnectionCollection qui contient toutes les connexions statiques de la page.

Attributs

Exemples

L’exemple de code suivant illustre l’utilisation par programmation de la StaticConnections propriété.

L’exemple de code comporte quatre parties :

  • Contrôle utilisateur qui vous permet de modifier les modes d’affichage sur une page composants WebPart.

  • Fichier de code source qui contient deux contrôles personnalisés WebPart et une interface personnalisée.

  • Page Web qui contient deux contrôles personnalisés WebPart qui peuvent être connectés et un <asp:webpartmanager> élément.

  • Explication du fonctionnement de l’exemple dans un navigateur.

Le code suivant contient uniquement la partie page Web de l’exemple. Vous devez également obtenir les deux premières parties du contrôle utilisateur personnalisé et le code source pour les contrôles personnalisés et l’interface à partir de la section Exemple de la vue d’ensemble de la WebPartManager classe. Cette rubrique explique également vos options de compilation des WebPart contrôles.

La troisième partie de l’exemple de code est la page Web. Le balisage déclaratif de la page contient des Register directives pour le contrôle utilisateur et les contrôles personnalisés. Il existe un <asp:webpartmanager> élément, un <asp:webpartzone> élément qui contient les contrôles personnalisés et un <asp:connectionszone> élément. Notez que dans la Page_Load méthode, le code vérifie si une connexion existe déjà et, si ce n’est pas le cas, définit un fournisseur, un consommateur et leurs points de connexion respectifs, puis ajoute une nouvelle connexion à l’ensemble de connexions statiques référencées par la StaticConnections propriété.

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

Une fois que vous avez chargé la page Web dans un navigateur, cliquez sur le contrôle de liste déroulante Mode d’affichage et sélectionnez Connecter pour basculer la page en mode connexion. Connecter mode utilise l’élément <asp:connectionszone> pour vous permettre de créer des connexions entre les contrôles. En mode connexion, cliquez sur la flèche vers le bas dans la barre de titre du contrôle code postal pour activer son menu verbes, puis cliquez sur Connecter. Une fois l’interface utilisateur de connexion affichée, notez qu’une connexion a déjà été créée par le code contenu dans la Page_Load méthode. Si vous revenez à cette page dans une session de navigateur ultérieure, cette connexion statique sera déjà établie et n’aura pas besoin d’être recréée chaque fois que la page se charge.

Remarques

La StaticConnections propriété est utilisée par le WebPartManager contrôle pour suivre et gérer toutes les connexions statiques sur une page. Une connexion statique, contrairement à une connexion dynamique, n’a pas besoin d’être ajoutée à une page chaque fois que la page est rendue.

La collection référencée par cette propriété contient toutes les connexions statiques qui existent sur la page, qu’elles soient créées par programmation ou spécifiées avec un <asp:webpartconnection> élément dans le balisage de la page.

S’applique à

Voir aussi