Partilhar via


WebPartManager.Connections Propriedade

Definição

Obtém uma referência à coleção de todas as conexões atuais em uma página da 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 da propriedade

Um WebPartConnectionCollection que contém um conjunto de WebPartConnection objetos.

Atributos

Exemplos

O exemplo de código a seguir demonstra o uso declarativo e programático do WebPartManager controle .

O exemplo de código tem quatro partes:

  • Um controle de usuário que permite alterar os modos de exibição em uma página de Web Parts.

  • Uma página da Web que contém dois controles personalizados WebPart que podem ser conectados e um <asp:webpartmanager> elemento .

  • Um arquivo de código-fonte que contém dois controles personalizados WebPart e uma interface personalizada.

  • Uma explicação de como o exemplo funciona em um navegador.

O código a seguir contém apenas a parte da página da Web do exemplo. Você também precisará do controle de usuário personalizado e do código-fonte para os controles personalizados mencionados acima. Obtenha esses dois itens na seção Exemplo da visão geral da WebPartManager classe.

O código da página da Web a seguir demonstra como usar a Connections propriedade programaticamente para obter a contagem de conexões atuais em uma página. Observe que, <script> na seção de marca, o código para manipular dois eventos para o WebPartManager controle acessa a Connections propriedade para obter a contagem.

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

Depois de carregar a página da Web em um navegador, clique no controle de lista suspensa Modo de Exibição e selecione Conectar para alternar a página para o modo de conexão. O modo de conexão usa o <asp:connectionszone> elemento para permitir que você crie conexões entre controles. No modo de conexão, clique na seta para baixo na barra de título do controle CEP para ativar seu menu de verbos e clique em Conectar. Depois que a interface do usuário da conexão for exibida, clique no link Criar uma conexão com um Consumidor . Uma célula é exibida com um controle de lista suspensa. Selecione Controle do Tempo na lista suspensa e clique em Conectar para concluir a conexão dos dois controles. Clique em Fechar e use a lista suspensa Modo de Exibição para retornar a página ao modo de navegação normal. Observe que um rótulo agora exibe o número de conexões e o número de WebPart controles. Se agora você retornar ao modo de conexão e desconectar os dois controles, ao retornar ao modo de navegação, o conteúdo do rótulo deverá ser atualizado e não deverá haver conexões.

Comentários

A Connections propriedade fornece uma maneira de acessar o conjunto atual de conexões em uma página. A coleção em si é somente leitura e os desenvolvedores que desejam manipular uma conexão específica da coleção devem usar WebPartManager métodos como ConnectWebParts e DisconnectWebParts.

Aplica-se a

Confira também