WebPartManager.GetConsumerConnectionPoints(WebPart) WebPartManager.GetConsumerConnectionPoints(WebPart) WebPartManager.GetConsumerConnectionPoints(WebPart) Method

Определение

Получает коллекцию объектов ConsumerConnectionPoint, которые могут функционировать в качестве точек подключения серверного элемента управления, выполняющего роль получателя в подключении веб-частей.Retrieves the collection of ConsumerConnectionPoint objects that can act as connection points from a server control that is acting as a consumer within a Web Parts connection.

public:
 virtual System::Web::UI::WebControls::WebParts::ConsumerConnectionPointCollection ^ GetConsumerConnectionPoints(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public virtual System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection GetConsumerConnectionPoints (System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member GetConsumerConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection
override this.GetConsumerConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ConsumerConnectionPointCollection

Параметры

webPart
WebPart WebPart WebPart

Серверный элемент управления, который выполняет роль получателя в подключении.A server control that is acting as a consumer in a connection.

Возвраты

Коллекция ConsumerConnectionPointCollection, которая содержит все точки подключения в получателе.A ConsumerConnectionPointCollection that contains all connection points in the consumer.

Исключения

Свойство webPart имеет значение null.webPart is null.

Примеры

В следующем примере кода показано, как использовать метод GetConsumerConnectionPoints.The following code example demonstrates how to use the GetConsumerConnectionPoints method.

Пример кода состоит из четырех частей:The code example has four parts:

  • Пользовательский элемент управления, позволяющий изменять режимы экрана на веб-части странице.A user control that enables you to change display modes on a Web Parts page.

  • Веб-страница, содержащая два настраиваемых WebPart элемента управления, которые могут быть подключены, <asp:webpartmanager> и элемент.A Web page that contains two custom WebPart controls that can be connected, and an <asp:webpartmanager> element.

  • Файл исходного кода, содержащий два пользовательских WebPart элемента управления и пользовательский интерфейс.A source code file that contains two custom WebPart controls and a custom interface.

  • Описание работы примера в браузере.An explanation of how the example works in a browser.

Первая часть примера кода — это пользовательский элемент управления для изменения режимов экрана.The first part of the code example is the user control for changing display modes. Исходный код для пользовательского элемента управления можно получить из раздела "пример" в разделе " WebPartManager обзор класса".You can obtain the source code for the user control from the Example section of the WebPartManager class overview. Дополнительные сведения о режимах отображения и способах работы пользовательского элемента управления см. в разделе Пошаговое руководство. Изменение режима экрана на веб-части странице.For more information about display modes and how the user control works, see the topic Walkthrough: Changing Display Modes on a Web Parts Page.

Декларативная разметка для веб-страницы Register содержит директивы как для пользовательского элемента управления, так и для пользовательских элементов управления.The declarative markup for the Web page contains Register directives for both the user control and the custom controls. Существует элемент, элемент для хранения пользовательских элементов управления и <asp:connectionszone> элемент. <asp:webpartzone> <asp:webpartmanager>There is an <asp:webpartmanager> element, an <asp:webpartzone> element to contain the custom controls, and an <asp:connectionszone> element. Обратите внимание, Page_Load что в методе код проверяет, существует ли уже соединение, и, если нет, определяет поставщик, потребитель и соответствующие точки соединения, а затем добавляет новое соединение в набор статических соединений, на которые ссылается StaticConnections свойство.Notice that in the Page_Load method, the code checks to see whether a connection already exists and, if not, defines a provider, a consumer, and their respective connection points, and then adds a new connection to the set of static connections referenced by the StaticConnections property. Обратите внимание ConsumerConnectionPointCollection , что объект, полученный GetConsumerConnectionPoints с помощью метода, затем передается CanConnectWebParts в метод, чтобы определить, можно ли создать соединение между двумя элементами управления.Note that the ConsumerConnectionPointCollection object that is retrieved by using the GetConsumerConnectionPoints method is then passed to the CanConnectWebParts method to determine whether a connection between the two controls can be created.

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

В третьей части примера приведен исходный код для элементов управления.The third part of the example is the source code for the controls. Этот код и инструкции по его компиляции можно получить из раздела "пример" в разделе "обзор класса WebPartManager ".You can obtain this code, and instructions for compiling it, from the Example section of the WebPartManager class overview.

После загрузки веб-страницы в браузере щелкните раскрывающийся список режим экрана и выберите подключить , чтобы переключить страницу в режим подключения.After you have loaded the Web page in a browser, click the Display Mode drop-down list control and select Connect to switch the page to connect mode. Режим подключения использует <asp:connectionszone> элемент, чтобы позволить создавать соединения между элементами управления.Connect mode uses the <asp:connectionszone> element to enable you to create connections between controls. В режиме подключения щелкните стрелку вниз в заголовке окна элемента управления " почтовый индекс ", чтобы активировать его меню команд, а затем нажмите кнопку подключить.In connect mode, click the downward arrow in the title bar of the ZIP Code control to activate its verbs menu, and then click Connect. После того как появится пользовательский интерфейс подключения, обратите внимание, что соединение уже создано кодом, содержащимся в Page_Load методе.After the connection user interface (UI) appears, notice that a connection has already been created by the code contained in the Page_Load method. Если вернуться на эту страницу в более позднем сеансе браузера, это статическое соединение уже будет установлено и его не нужно будет создавать заново при каждой загрузке страницы.If you return to this page in a later browser session, this static connection will already be established and will not need to be recreated each time the page loads.

Комментарии

Веб-частиное подключение всегда включает в себя ровно два элемента управления, один из которых выступает в качестве поставщика данных, а другой выступает в качестве потребителя данных.A Web Parts connection always involves exactly two controls, one acting as the provider of data, the other acting as the consumer of data. Каждый элемент управления должен иметь один или несколько методов, определенных как точки соединения.Each control must have one or more methods that are defined as connection points. В случае с элементом управления получателя его точки соединения являются ConsumerConnectionPoint объектами.In the case of a consumer control, its connection points are ConsumerConnectionPoint objects. Получение точек подключения потребителя является необходимым шагом для формирования веб-части соединения.Retrieving the consumer connection points is a necessary step in forming a Web Parts connection.

Потребитель всегда должен иметь по крайней мере одну точку подключения, чтобы иметь возможность установить соединение.A consumer must always have at least one connection point to be able to establish a connection. GetConsumerConnectionPoints Метод проверяет элемент управления потребителя и получает коллекцию всех его точек соединения.The GetConsumerConnectionPoints method checks a consumer control and retrieves a collection of all its connection points. Если у WebPart элемента управления нет точек соединения, метод возвращает пустую коллекцию.If a WebPart control has no connection points, the method returns an empty collection.

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

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