WebPartManager.GetConsumerConnectionPoints(WebPart) Метод

Определение

Извлекает коллекцию ConsumerConnectionPoint объектов, которые могут выступать в качестве точек подключения из серверного элемента управления, который выступает в качестве потребителя в соединении веб-частей.

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
Public Overridable Function GetConsumerConnectionPoints (webPart As WebPart) As ConsumerConnectionPointCollection

Параметры

webPart
WebPart

Серверный элемент управления, который выступает в качестве потребителя в соединении.

Возвращаемое значение

Объект, ConsumerConnectionPointCollection содержащий все точки подключения в потребителе.

Исключения

webPart равно null.

Примеры

В следующем примере кода показано, как использовать GetConsumerConnectionPoints метод.

Пример кода состоит из четырех частей:

  • Пользовательский элемент управления, позволяющий изменять режимы отображения на странице веб-частей.

  • Веб-страница, содержащая два пользовательских WebPart элемента управления, которые могут быть подключены, и <asp:webpartmanager> элемент.

  • Файл исходного кода, содержащий два пользовательских WebPart элемента управления и пользовательский интерфейс.

  • Описание работы примера в браузере.

Первая часть примера кода — это элемент управления пользователем для изменения режимов отображения. Исходный код для пользовательского WebPartManager элемента управления можно получить из раздела "Пример" обзора класса. Дополнительные сведения о режимах отображения и способах работы пользовательского элемента управления см. в разделе " Пошаговое руководство. Изменение режимов отображения на странице веб-частей".

Декларативная разметка для веб-страницы Register содержит директивы для пользовательского элемента управления и пользовательских элементов управления. <asp:webpartmanager> Существует элемент, элемент для <asp:webpartzone> хранения пользовательских элементов управления и <asp:connectionszone> элемента. Обратите внимание, что в методе Page_Load код проверяет, существует ли подключение и, если нет, определяет поставщика, потребителя и их соответствующие точки подключения, а затем добавляет новое подключение к набору статических подключений, на которые StaticConnections ссылается свойство. Обратите внимание, что ConsumerConnectionPointCollection объект, полученный с помощью GetConsumerConnectionPoints метода, затем передается CanConnectWebParts методу, чтобы определить, можно ли создать соединение между двумя элементами управления.

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

Третья часть примера — исходный код для элементов управления. Этот код и инструкции по его компиляции можно получить из раздела WebPartManager "Пример" обзора класса.

После загрузки веб-страницы в браузере щелкните раскрывающийся список " Режим отображения " и выберите "Подключиться ", чтобы переключить страницу в режим подключения. В режиме <asp:connectionszone> подключения элемент используется для создания соединений между элементами управления. В режиме подключения щелкните стрелку вниз в строке заголовка элемента управления ZIP Code, чтобы активировать его меню команд, а затем нажмите кнопку "Подключить". После появления пользовательского интерфейса подключения обратите внимание, что подключение уже создано кодом, содержащимся в методе Page_Load . Если вы вернеесь на эту страницу в более позднем сеансе браузера, это статичное подключение уже будет установлено и при каждой загрузке страницы не потребуется повторно создаваться.

Комментарии

Подключение веб-частей всегда включает в себя ровно два элемента управления, один выступает в качестве поставщика данных, другой выступает в качестве потребителя данных. Каждый элемент управления должен иметь один или несколько методов, которые определяются как точки подключения. В случае элемента управления потребителем его точки подключения являются ConsumerConnectionPoint объектами. Получение точек подключения потребителей — это необходимый шаг при формировании подключения веб-частей.

Потребитель должен всегда иметь по крайней мере одну точку подключения, чтобы установить подключение. Метод GetConsumerConnectionPoints проверяет элемент управления потребителем и извлекает коллекцию всех его точек подключения. Если элемент WebPart управления не имеет точек подключения, метод возвращает пустую коллекцию.

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

См. также раздел