WebPartManager.Connections Propiedad

Definición

Obtiene una referencia a la colección de todas las conexiones actuales en una página Web.

public:
 property System::Web::UI::WebControls::WebParts::WebPartConnectionCollection ^ Connections { System::Web::UI::WebControls::WebParts::WebPartConnectionCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Web.UI.WebControls.WebParts.WebPartConnectionCollection Connections { get; }
[<System.ComponentModel.Browsable(false)>]
member this.Connections : System.Web.UI.WebControls.WebParts.WebPartConnectionCollection
Public ReadOnly Property Connections As WebPartConnectionCollection

Valor de propiedad

Objeto WebPartConnectionCollection que contiene un conjunto de objetos WebPartConnection.

Atributos

Ejemplos

En el ejemplo de código siguiente se muestra el uso declarativo y mediante programación del WebPartManager control .

El ejemplo de código tiene cuatro partes:

  • Control de usuario que permite cambiar los modos de visualización en una página de elementos web.

  • Una página web que contiene dos controles personalizados WebPart que se pueden conectar y un <asp:webpartmanager> elemento .

  • Un archivo de código fuente que contiene dos controles personalizados WebPart y una interfaz personalizada.

  • Explicación de cómo funciona el ejemplo en un explorador.

El código siguiente contiene solo la parte de la página web del ejemplo. También necesitará el control de usuario personalizado y el código fuente para los controles personalizados mencionados anteriormente. Obtenga estos dos elementos de la sección Ejemplo de la información general de la WebPartManager clase.

El siguiente código de página web muestra cómo usar la Connections propiedad mediante programación para obtener el recuento de conexiones actuales en una página. Tenga en cuenta que, en la <script> sección etiqueta, el código para controlar dos eventos para el WebPartManager control accede a la Connections propiedad para obtener el recuento.

<%@ 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">
 
  private void UpdateLabelData(int wpCount, int connCount)
  {
    Label1.Text = "WebPart Control Count:  " + wpCount.ToString();
    Label2.Text = "Connections Count: " + connCount.ToString();
  }

  protected void WebPartManager1_WebPartsConnected(object sender, WebPartConnectionsEventArgs e)
  {
    UpdateLabelData(WebPartManager1.WebParts.Count,
      WebPartManager1.Connections.Count);
  }

  protected void WebPartManager1_WebPartsDisconnected(object sender, WebPartConnectionsEventArgs e)
  {
    UpdateLabelData(WebPartManager1.WebParts.Count,
      WebPartManager1.Connections.Count);
  }
  
</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="WebPartManager1" runat="server"  
        OnWebPartsConnected="WebPartManager1_WebPartsConnected" 
        OnWebPartsDisconnected="WebPartManager1_WebPartsDisconnected" />
    <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 />
      <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
      <br />
      <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
      <!-- 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 WebPartManager1_WebPartsConnected( _
    ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.WebParts.WebPartConnectionsEventArgs)
    
    UpdateLabelData(WebPartManager1.WebParts.Count, _
      WebPartManager1.Connections.Count)
    
  End Sub

  Protected Sub WebPartManager1_WebPartsDisconnected( _
    ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.WebParts.WebPartConnectionsEventArgs)
    
    UpdateLabelData(WebPartManager1.WebParts.Count, _
      WebPartManager1.Connections.Count)
    
  End Sub
  
  Private Sub UpdateLabelData(ByVal wpCount As Integer, _
    ByVal connCount As Integer)
    
    Label1.Text = "WebPart Control Count:  " & wpCount.ToString()
    Label2.Text = "Connections Count: " & connCount.ToString()
    
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
      <asp:WebPartManager ID="WebPartManager1" runat="server" OnWebPartsConnected="WebPartManager1_WebPartsConnected" OnWebPartsDisconnected="WebPartManager1_WebPartsDisconnected" />
    <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 />
      <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
      <br />
      <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
      <!-- Add a ConnectionsZone so users can connect controls. -->
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server" />
    </div>
    </form>
</body>
</html>

Después de cargar la página web en un explorador, haga clic en el control de lista desplegable Modo de visualización y seleccione Conectar para cambiar la página al modo de conexión. El modo de conexión usa el <asp:connectionszone> elemento para permitirle crear conexiones entre controles. En el modo de conexión, haga clic en la flecha hacia abajo en la barra de título del control código postal para activar su menú de verbos y, a continuación, haga clic en Conectar. Una vez que se muestre la interfaz de usuario (UI) de conexión, haga clic en el vínculo Crear una conexión a un consumidor . Aparece una celda que tiene un control de lista desplegable. Seleccione Control meteorológico en la lista desplegable y haga clic en Conectar para completar la conexión de los dos controles. Haga clic en Cerrar y, a continuación, use la lista desplegable Modo de visualización para devolver la página al modo de exploración normal. Tenga en cuenta que una etiqueta ahora muestra el número de conexiones y el número de WebPart controles. Si ahora vuelve al modo de conexión y desconecta los dos controles, al volver al modo de exploración, el contenido de la etiqueta debe actualizarse y no debe haber ninguna conexión.

Comentarios

La Connections propiedad proporciona una manera de acceder al conjunto actual de conexiones en una página. La propia colección es de solo lectura y los desarrolladores que quieren manipular una conexión específica de la colección deben usar WebPartManager métodos como ConnectWebParts y DisconnectWebParts.

Se aplica a

Consulte también