WebPartManager.ConnectWebParts Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma conexão entre dois WebPart controles (ou outros controles de servidor capazes de formar conexões) que residem em uma WebPartZoneBase zona.
Sobrecargas
| Nome | Description |
|---|---|
| ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) |
Cria uma conexão entre dois WebPart ou GenericWebPart controles usando apenas as referências aos controles e seus objetos especificados ConnectionPoint . |
| ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) |
Cria uma conexão entre dois WebPart ou GenericWebPart controles usando as referências aos controles, seus objetos especificados ConnectionPoint e um WebPartTransformer objeto. |
Comentários
O ConnectWebParts método forma uma conexão entre os dois WebPart controles que podem ser conectados. Antes de chamar esse método para criar uma conexão, talvez você também queira chamar o CanConnectWebParts método em uma verificação condicional para garantir que os controles atendam aos requisitos para formar uma conexão.
Note
Também é possível criar uma conexão entre dois controles de servidor que não WebPart são controles. Em geral, os dois controles teriam que ser controles de servidor personalizados (por exemplo, controles que herdam de WebControl ou controles de servidor ASP.NET existentes) para que você pudesse adicionar os membros necessários. Os controles também teriam que atender aos requisitos especificados abaixo.
Qualquer tipo de cenário de conexão entre dois controles deve atender aos seguintes requisitos para poder se conectar:
Cada controle reside em uma WebPartZoneBase zona (não precisa ser a mesma zona).
Conforme implementado no conjunto de controle de Web Parts, o controle do provedor em uma conexão implementa uma interface como um método público que serve como um retorno de chamada para o provedor e tem um
ConnectionProvideratributo de metadados no método para identificá-la como um ponto de conexão do provedor. Como o GetProviderConnectionPoints método que recupera pontos de conexão do provedor é virtual, um controle derivado WebPartManager não precisa necessariamente usar o mesmo atributo de metadados.Conforme implementado no conjunto de controle de Web Parts, o controle do consumidor em uma conexão também tem um método especial que permite que ele obtenha uma referência à interface exposta no método de retorno de chamada do provedor, e o consumidor tem um
ConnectionConsumeratributo de metadados no método para identificá-lo como um ponto de conexão do consumidor. Como o GetConsumerConnectionPoints método que recupera pontos de conexão do consumidor é virtual, um controle derivado WebPartManager não precisa necessariamente usar o mesmo atributo de metadados.Os métodos de retorno de chamada devem ser compatíveis, pois o consumidor pode usar o tipo de interface fornecido no método de retorno de chamada do provedor (o que significa que o consumidor e o provedor podem compartilhar dados diretamente) ou o desenvolvedor deve usar um WebPartTransformer objeto para transformar os dados do provedor em um formulário que o consumidor pode usar.
Importante
Quando você não precisar de um transformador, use a sobrecarga do ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) método. Quando precisar de um transformador, use a sobrecarga do ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) método.
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)
Cria uma conexão entre dois WebPart ou GenericWebPart controles usando apenas as referências aos controles e seus objetos especificados ConnectionPoint .
public:
System::Web::UI::WebControls::WebParts::WebPartConnection ^ ConnectWebParts(System::Web::UI::WebControls::WebParts::WebPart ^ provider, System::Web::UI::WebControls::WebParts::ProviderConnectionPoint ^ providerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPart ^ consumer, System::Web::UI::WebControls::WebParts::ConsumerConnectionPoint ^ consumerConnectionPoint);
public System.Web.UI.WebControls.WebParts.WebPartConnection ConnectWebParts(System.Web.UI.WebControls.WebParts.WebPart provider, System.Web.UI.WebControls.WebParts.ProviderConnectionPoint providerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPart consumer, System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint consumerConnectionPoint);
member this.ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint -> System.Web.UI.WebControls.WebParts.WebPartConnection
Public Function ConnectWebParts (provider As WebPart, providerConnectionPoint As ProviderConnectionPoint, consumer As WebPart, consumerConnectionPoint As ConsumerConnectionPoint) As WebPartConnection
Parâmetros
- provider
- WebPart
Um WebPart controle que tem a função de fornecer dados para outro controle conectado.
- providerConnectionPoint
- ProviderConnectionPoint
Um método que serve como um método de retorno de chamada para a conexão. Conforme implementado no conjunto de controle de Web Parts, esse é um método provider público que é marcado com um ConnectionProvider atributo de metadados.
- consumer
- WebPart
Um WebPart controle que tem a função de receber dados e provider, em seguida, processá-los ou exibi-los.
- consumerConnectionPoint
- ConsumerConnectionPoint
Um método com providerConnectionPoint o qual se conecta para receber os dados da conexão. Conforme implementado no conjunto de controle de Web Parts, esse é um método consumer público que é marcado com um ConnectionConsumer atributo de metadados.
Retornos
Um WebPartConnection que contém as várias informações sobre o provedor e o consumidor necessários para uma conexão.
Exceções
A WebPartManager coleção de coleções dinâmicas do controle é somente leitura.
Exemplos
O exemplo de código a seguir demonstra como usar esse método para criar uma conexão programaticamente. Para obter o código completo necessário para executar o exemplo, consulte a seção Exemplo da visão geral da WebPartManager classe. Nesse exemplo, você precisará do código-fonte para o controle do usuário que permite alterar os modos de exibição na página e o código-fonte para os dois controles personalizados WebPart .
O código da página da Web que hospeda os dois controles segue. A página usa diretivas Register na parte superior para declarar o controle de usuário e os controles personalizados. Os controles personalizados são referenciados declarativamente dentro de um <asp:webpartzone> elemento. O código que manipula o Button1_Click método cria uma conexão entre os controles usando o ConnectWebParts método.
<%@ 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 Button1_Click(object sender, EventArgs e)
{
ProviderConnectionPoint provPoint =
mgr.GetProviderConnectionPoints(zip1)["ZipCodeProvider"];
ConsumerConnectionPoint connPoint =
mgr.GetConsumerConnectionPoints(weather1)["ZipCodeConsumer"];
WebPartConnection conn1 = mgr.ConnectWebParts(zip1, provPoint,
weather1, connPoint);
}
protected void mgr_DisplayModeChanged(object sender,
WebPartDisplayModeEventArgs e)
{
if (mgr.DisplayMode == WebPartManager.ConnectDisplayMode)
Button1.Visible = true;
else
Button1.Visible = false;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr" runat="server"
OnDisplayModeChanged="mgr_DisplayModeChanged">
</asp:WebPartManager>
<uc1:DisplayModeMenuCS ID="menu1" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<aspSample:ZipCodeWebPart ID="zip1" runat="server"
Title="Zip Code Provider" />
<aspSample:WeatherWebPart ID="weather1" runat="server"
Title="Zip Code Consumer" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
</asp:ConnectionsZone>
<asp:Button ID="Button1" runat="server"
Text="Connect WebPart Controls"
OnClick="Button1_Click"
Visible="false" />
</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 Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim provPoint As ProviderConnectionPoint = _
mgr.GetProviderConnectionPoints(zip1)("ZipCodeProvider")
Dim connPoint As ConsumerConnectionPoint = _
mgr.GetConsumerConnectionPoints(weather1)("ZipCodeConsumer")
mgr.ConnectWebParts(zip1, provPoint, weather1, connPoint)
End Sub
Protected Sub mgr_DisplayModeChanged (ByVal sender as Object, _
ByVal e as WebPartDisplayModeEventArgs)
If mgr.DisplayMode is WebPartManager.ConnectDisplayMode Then
Button1.Visible = True
Else
Button1.Visible = False
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr" runat="server"
OnDisplayModeChanged="mgr_DisplayModeChanged">
</asp:WebPartManager>
<uc1:DisplayModeMenuVB ID="menu1" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<aspSample:ZipCodeWebPart ID="zip1" runat="server"
Title="Zip Code Provider" />
<aspSample:WeatherWebPart ID="weather1" runat="server"
Title="Zip Code Consumer" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
</asp:ConnectionsZone>
<asp:Button ID="Button1" runat="server"
Text="Connect WebPart Controls"
OnClick="Button1_Click"
Visible="false" />
</div>
</form>
</body>
</html>
Depois de carregar a página em um navegador, clique no botão Conectar Controles webpart para formar a conexão. Em seguida, você pode inserir alguns dados na caixa de texto e clicar no botão Inserir CEP de 5 dígitos para demonstrar que os controles estão conectados e que os dados inseridos no primeiro controle são atualizados no segundo.
Comentários
Essa sobrecarga é usada para conectar controles quando seus pontos de conexão são suficientemente compatíveis que podem se conectar sem usar um WebPartTransformer objeto. Quando essa sobrecarga do método é chamada, ele simplesmente passa a chamada para a outra versão sobrecarregada do método e passa null para o parâmetro que requer um WebPartTransformer objeto.
Ao tentar conectar dois controles programaticamente, você pode usar o CanConnectWebParts método em uma verificação condicional para determinar se os controles podem ser conectados diretamente.
Confira também
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- controles de Web Parts ASP.NET
Aplica-se a
ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)
Cria uma conexão entre dois WebPart ou GenericWebPart controles usando as referências aos controles, seus objetos especificados ConnectionPoint e um WebPartTransformer objeto.
public:
virtual System::Web::UI::WebControls::WebParts::WebPartConnection ^ ConnectWebParts(System::Web::UI::WebControls::WebParts::WebPart ^ provider, System::Web::UI::WebControls::WebParts::ProviderConnectionPoint ^ providerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPart ^ consumer, System::Web::UI::WebControls::WebParts::ConsumerConnectionPoint ^ consumerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPartTransformer ^ transformer);
public virtual System.Web.UI.WebControls.WebParts.WebPartConnection ConnectWebParts(System.Web.UI.WebControls.WebParts.WebPart provider, System.Web.UI.WebControls.WebParts.ProviderConnectionPoint providerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPart consumer, System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint consumerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPartTransformer transformer);
abstract member ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint * System.Web.UI.WebControls.WebParts.WebPartTransformer -> System.Web.UI.WebControls.WebParts.WebPartConnection
override this.ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint * System.Web.UI.WebControls.WebParts.WebPartTransformer -> System.Web.UI.WebControls.WebParts.WebPartConnection
Public Overridable Function ConnectWebParts (provider As WebPart, providerConnectionPoint As ProviderConnectionPoint, consumer As WebPart, consumerConnectionPoint As ConsumerConnectionPoint, transformer As WebPartTransformer) As WebPartConnection
Parâmetros
- providerConnectionPoint
- ProviderConnectionPoint
Um método público que provider é marcado com um ConnectionProvider atributo de metadados e serve como um método de retorno de chamada para a conexão.
- consumer
- WebPart
Um WebPart que tem a função de receber dados de provider ou transformer, em seguida, processá-los ou exibi-los.
- consumerConnectionPoint
- ConsumerConnectionPoint
Um método público que consumer é marcado com um ConnectionConsumer atributo de metadados e se conecta providerConnectionPoint para receber os dados da conexão.
- transformer
- WebPartTransformer
Um WebPartTransformer que permite uma conexão entre dois controles convertendo os dados em provider um formato que consumer pode ser processado.
Retornos
Um WebPartConnection que contém as informações sobre o provedor, o consumidor e o transformador necessários para uma conexão.
Exceções
As conexões já foram ativadas em PreRender.
Comentários
Essa sobrecarga é usada para conectar controles quando seus pontos de conexão são incompatíveis. A incompatibilidade ocorre quando consumer implementa uma interface diferente do provider ponto de conexão. O transformador converte os dados em um tipo que pode ser compreendido por consumer.
Confira também
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- controles de Web Parts ASP.NET