WebPartManager.ConnectWebParts WebPartManager.ConnectWebParts WebPartManager.ConnectWebParts Method

Определение

Создает подключение между двумя элементами управления WebPart (или другими серверными элементами управления, способными создавать подключения), которые находятся в зоне WebPartZoneBase.Creates a connection between two WebPart controls (or other server controls capable of forming connections) that reside in a WebPartZoneBase zone.

Перегрузки

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Создает подключение между двумя элементами управления WebPart или GenericWebPart с использованием только ссылок на элементы управления и их определенные объекты ConnectionPoint.Creates a connection between two WebPart or GenericWebPart controls using only the references to the controls and their specified ConnectionPoint objects.

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)

Создает подключение между двумя элементами управления WebPart или GenericWebPart с использованием только ссылок на элементы управления и их определенные объекты ConnectionPoint, а также объект WebPartTransformer.Creates a connection between two WebPart or GenericWebPart controls using the references to the controls, their specified ConnectionPoint objects, and a WebPartTransformer object.

Комментарии

Метод формирует соединение между любыми двумя WebPart элементами управления, которые могут быть подключены. ConnectWebPartsThe ConnectWebParts method forms a connection between any two WebPart controls that can be connected. Перед вызовом этого метода для создания соединения может также потребоваться вызвать CanConnectWebParts метод в условной проверке, чтобы обеспечить соответствие элементов управления требованиям для формирования соединения.Before calling this method to create a connection, you might also want to call the CanConnectWebParts method in a conditional check to ensure that the controls meet the requirements for forming a connection.

Примечание

Также можно создать соединение между двумя серверными элементами управления, которые не WebPart являются элементами управления.It is also possible to create a connection between two server controls that are not WebPart controls. Как правило, эти два элемента управления должны быть пользовательскими серверными элементами управления (например, элементы управления, которые WebControl наследуют от или существующие серверные элементы управления ASP.NET), чтобы можно было добавить необходимые члены.In general, the two controls would have to be custom server controls (for example, controls that inherit from WebControl or existing ASP.NET server controls) so that you could add the required members. Элементы управления также должны удовлетворять указанным ниже требованиям.The controls would also have to meet the requirements specified below.

Любой тип сценария подключения между двумя элементами управления должен соответствовать следующим требованиям, чтобы иметь возможность подключения:Any type of connection scenario between two controls must meet the following requirements to be able to connect:

  • Каждый элемент управления находится в WebPartZoneBase зоне (он может не быть той же зоной).Each control resides in a WebPartZoneBase zone (it does not have to be the same zone).

  • Как реализованное в наборе элементов управления веб-части, элемент управления поставщика в соединении реализует интерфейс как открытый метод, который выступает в качестве обратного вызова поставщика, и имеет ConnectionProvider атрибут метаданных в методе, чтобы определить его как соединение с поставщиком. точки.As implemented in the Web Parts control set, the provider control in a connection implements an interface as a public method that serves as a callback to the provider, and has a ConnectionProvider metadata attribute on the method to identify it as a provider connection point. Так как WebPartManager метод, который получает точки подключения поставщика, является виртуальным, производный элемент управления не обязательно должен использовать один и тот же атрибут метаданных. GetProviderConnectionPointsBecause the GetProviderConnectionPoints method that retrieves provider connection points is virtual, a derived WebPartManager control does not necessarily have to use the same metadata attribute.

  • Как реализованное в наборе элементов управления веб-части, элемент управления получателя в соединении также имеет специальный метод, позволяющий ему получить ссылку на интерфейс, предоставляемый в методе обратного вызова поставщика, а потребитель имеет ConnectionConsumer атрибут метаданных в метод, который определяет его как точку подключения потребителя.As implemented in the Web Parts control set, the consumer control in a connection also has a special method that enables it to get a reference to the interface that is exposed in the provider's callback method, and the consumer has a ConnectionConsumer metadata attribute on the method to identify it as a consumer connection point. Так как WebPartManager метод, который получает точки подключения потребителя, является виртуальным, производный элемент управления не обязательно должен использовать один и тот же атрибут метаданных. GetConsumerConnectionPointsBecause the GetConsumerConnectionPoints method that retrieves consumer connection points is virtual, a derived WebPartManager control does not necessarily have to use the same metadata attribute.

  • Методы обратного вызова должны быть совместимыми, в том, что потребитель может использовать тип интерфейса, предоставленный в методе обратного вызова поставщика (это означает, что потребитель и поставщик могут обмениваться данными напрямую) или разработчик WebPartTransformer должен использовать объект для Преобразуйте данные из поставщика в форму, которую может использовать потребитель.The callback methods must either be compatible, in that the consumer can use the type of interface supplied in the provider's callback method (meaning that the consumer and provider can share data directly), or the developer must use a WebPartTransformer object to transform the data from the provider into a form that the consumer can use.

    Важно!

    Если преобразователь не требуется, используйте ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) перегрузку метода.When you do not need a transformer, use the ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) method overload. Если требуется преобразователь, используйте ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) перегрузку метода.When you need a transformer, use the ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) method overload.

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Создает подключение между двумя элементами управления WebPart или GenericWebPart с использованием только ссылок на элементы управления и их определенные объекты ConnectionPoint.Creates a connection between two WebPart or GenericWebPart controls using only the references to the controls and their specified ConnectionPoint objects.

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

Параметры

provider
WebPart WebPart WebPart

Элемент управления WebPart, который играет роль передачи данных в другой подключенный элемент управления.A WebPart control that has the role of furnishing data to another connected control.

providerConnectionPoint
ProviderConnectionPoint ProviderConnectionPoint ProviderConnectionPoint

Метод, который служит в качестве метода обратного вызова для этого подключения.A method that serves as a callback method for the connection. В соответствии с реализацией в наборе элементов управления веб-частей это открытый метод в provider, который отмечен при помощи атрибута метаданных ConnectionProvider.As implemented in the Web Parts control set, this is a public method in provider that is marked with a ConnectionProvider metadata attribute.

consumer
WebPart WebPart WebPart

Элемент управления WebPart, выполняющий функцию получения данных provider с последующей их обработкой и отображением.A WebPart control that has the role of receiving data from provider, and then processing or displaying it.

consumerConnectionPoint
ConsumerConnectionPoint ConsumerConnectionPoint ConsumerConnectionPoint

Метод, который подключается к точке providerConnectionPoint для получения данных для подключения.A method that connects with providerConnectionPoint to receive the data for the connection. В соответствии с реализацией в наборе элементов управления веб-частей это открытый метод в consumer, который отмечен при помощи атрибута метаданных ConnectionConsumer.As implemented in the Web Parts control set, this is a public method in consumer that is marked with a ConnectionConsumer metadata attribute.

Возвраты

Подключение WebPartConnection, которое содержит различные необходимые для подключения сведения о поставщике и получателе.A WebPartConnection that contains the various information about the provider and the consumer needed for a connection.

Исключения

Коллекция элемента подключения WebPartManager, принадлежащая динамическим коллекциям, доступна только для чтения.The WebPartManager control's collection of dynamic collections is read-only.

Примеры

В следующем примере кода показано, как использовать этот метод для создания подключения программным способом.The following code example demonstrates how to use this method to create a connection programmatically. Полный код, необходимый для выполнения примера, см. в разделе "пример" WebPartManager раздела Обзор класса.For the full code required to run the example, see the Example section of the WebPartManager class overview. В этом примере вам понадобится исходный код для пользовательского элемента управления, который позволяет изменять режимы экрана на странице и исходный код для двух пользовательских WebPart элементов управления.From that example, you will need the source code for the user control that allows you to change display modes on the page, and the source code for the two custom WebPart controls.

Код для веб-страницы, на которой размещены два элемента управления, выглядит следующим образом.The code for the Web page that hosts the two controls follows. На странице используются Register директивы в верхней части, чтобы объявить пользовательский элемент управления и пользовательские элементы управления.The page uses Register directives at the top to declare the user control and the custom controls. Затем на пользовательские элементы управления осуществляется декларативная ссылка в <asp:webpartzone> элементе.The custom controls are then referenced declaratively within an <asp:webpartzone> element. Код, обрабатывающий Button1_Click метод, создает соединение между элементами управления с ConnectWebParts помощью метода.The code that handles the Button1_Click method creates a connection between the controls by using the ConnectWebParts method.

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

После загрузки страницы в браузере нажмите кнопку Connect WebPart Controls (соединить элементы управления ), чтобы сформировать соединение.After you load the page in a browser, click the Connect WebPart Controls button to form the connection. Затем можно ввести данные в текстовое поле и нажать кнопку Enter 5-значный почтовый индекс , чтобы продемонстрировать, что элементы управления подключены и данные, введенные в первом элементе управления, обновляются во втором.You can then enter some data in the text box, and click the Enter 5-digit ZIP Code button to demonstrate that the controls are connected, and that data entered in the first control is updated in the second.

Комментарии

Эта перегрузка используется для подключения элементов управления, если их точки соединения имеют достаточную совместимость, так как WebPartTransformer они могут подключаться без использования объекта.This overload is used to connect controls when their connection points are sufficiently compatible that they can connect without using a WebPartTransformer object. При вызове этой перегрузки метода он просто передает вызов другой перегруженной версии метода и передает null параметру, WebPartTransformer требующему объект.When this overload of the method is called, it simply passes the call to the other overloaded version of the method, and passes null for the parameter that requires a WebPartTransformer object.

При попытке подключить два элемента управления программным способом можно использовать CanConnectWebParts метод в условной проверке, чтобы определить, можно ли напрямую подключить элементы управления.When you attempt to connect two controls programmatically, you can use the CanConnectWebParts method in a conditional check to determine whether the controls can be directly connected.

Дополнительно

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)

Создает подключение между двумя элементами управления WebPart или GenericWebPart с использованием только ссылок на элементы управления и их определенные объекты ConnectionPoint, а также объект WebPartTransformer.Creates a connection between two WebPart or GenericWebPart controls using the references to the controls, their specified ConnectionPoint objects, and a WebPartTransformer object.

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

Параметры

provider
WebPart WebPart WebPart

Элемент управления WebPart, который играет роль передачи данных в другой подключенный элемент управления.A WebPart that has the role of furnishing data to another connected control.

providerConnectionPoint
ProviderConnectionPoint ProviderConnectionPoint ProviderConnectionPoint

Открытый метод в provider, который помечен атрибутом метаданных ConnectionProvider и служит в качестве метода обратного вызова для подключения.A public method in provider that is marked with a ConnectionProvider metadata attribute, and serves as a callback method for the connection.

consumer
WebPart WebPart WebPart

Элемент управления WebPart, выполняющий функцию получения данных от provider или transformer с последующей их обработкой и отображением.A WebPart that has the role of receiving data from provider or transformer, and then processing or displaying it.

consumerConnectionPoint
ConsumerConnectionPoint ConsumerConnectionPoint ConsumerConnectionPoint

Открытый метод в consumer, который помечен атрибутом метаданных ConnectionConsumer и создает подключение с providerConnectionPoint для получения данных для подключения.A public method in consumer that is marked with a ConnectionConsumer metadata attribute, and connects with providerConnectionPoint to receive the data for the connection.

transformer
WebPartTransformer WebPartTransformer WebPartTransformer

Преобразователь WebPartTransformer, который позволяет создать подключение между двумя элементами управления посредством преобразования данных поставщика provider в формат, который может быть обработан получателем consumer.A WebPartTransformer that enables a connection between two controls by converting the data from provider to a format that consumer can process.

Возвраты

Подключение WebPartConnection, которое содержит различные необходимые для подключения сведения о поставщике, получателе и преобразователе.A WebPartConnection that contains the information about the provider, consumer, and transformer needed for a connection.

Исключения

Подключения уже были активированы в событии PreRender.Connections have already been activated in PreRender.

Комментарии

Эта перегрузка используется для подключения элементов управления, если их точки соединения несовместимы.This overload is used to connect controls when their connection points are incompatible. Несовместимость возникает, если consumer в provider качестве точки соединения реализуется интерфейс, отличный от интерфейса.The incompatibility occurs when consumer implements a different interface than provider as its connection point. Преобразователь преобразует данные в тип, который может быть понят consumer.The transformer converts the data into a type that can be understood by consumer.

Дополнительно

Применяется к