WebPartManager.GetConsumerConnectionPoints(WebPart) Metoda

Definice

Načte kolekci ConsumerConnectionPoint objektů, které mohou fungovat jako spojovací body z ovládacího prvku serveru, který funguje jako příjemce v rámci připojení webových částí.

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

Parametry

webPart
WebPart

Serverový ovládací prvek, který v připojení funguje jako příjemce.

Návraty

A ConsumerConnectionPointCollection , který obsahuje všechny spojovací body příjemce.

Výjimky

webPart je null.

Příklady

Následující příklad kódu ukazuje, jak použít metodu GetConsumerConnectionPoints .

Příklad kódu má čtyři části:

  • Uživatelský ovládací prvek, který umožňuje změnit režimy zobrazení na stránce webových částí.

  • Webová stránka, která obsahuje dva vlastní WebPart ovládací prvky, které lze připojit, a prvek <asp:webpartmanager> .

  • Soubor zdrojového kódu, který obsahuje dva vlastní WebPart ovládací prvky a vlastní rozhraní.

  • Vysvětlení fungování příkladu v prohlížeči

První část příkladu kódu je uživatelský ovládací prvek pro změnu režimů zobrazení. Zdrojový kód pro uživatelský ovládací prvek můžete získat v části Příklad přehledu WebPartManager třídy. Další informace o režimech zobrazení a o tom, jak funguje uživatelský ovládací prvek, naleznete v tématu Návod: Změna režimů zobrazení na stránce webových částí.

Deklarativní kód pro webovou stránku obsahuje Register direktivy pro uživatelský ovládací prvek i vlastní ovládací prvky. Existuje <asp:webpartmanager> element, element obsahující <asp:webpartzone> vlastní ovládací prvky a <asp:connectionszone> element. Všimněte si, že v Page_Load metodě kód zkontroluje, jestli připojení již existuje, a pokud ne, definuje zprostředkovatele, příjemce a příslušné spojovací body a pak přidá nové připojení do sady statických připojení, na která StaticConnections vlastnost odkazuje. Všimněte si ConsumerConnectionPointCollection , že objekt, který se načte pomocí GetConsumerConnectionPoints metody , se pak předá CanConnectWebParts metodě, aby se zjistilo, zda lze vytvořit spojení mezi těmito dvěma ovládacími prvky.

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

Třetí částí příkladu je zdrojový kód ovládacích prvků. Tento kód a pokyny pro jeho kompilaci můžete získat z oddílu Příklad v přehledu WebPartManager třídy.

Po načtení webové stránky v prohlížeči klikněte na ovládací prvek rozevíracího seznamu Režim zobrazení a výběrem možnosti Připojit přepněte stránku do režimu připojení. Režim připojení používá element , <asp:connectionszone> který umožňuje vytvářet připojení mezi ovládacími prvky. V režimu připojení kliknutím na šipku dolů v záhlaví ovládacího prvku PSČ aktivujte nabídku příkazů a potom klikněte na Připojit. Jakmile se zobrazí uživatelské rozhraní připojení, všimněte si, že připojení již bylo vytvořeno kódem obsaženým Page_Load v metodě . Pokud se na tuto stránku vrátíte v pozdější relaci prohlížeče, toto statické připojení již bude navázáno a nebude nutné ho znovu vytvářet při každém načtení stránky.

Poznámky

Připojení webových částí vždy zahrnuje přesně dva ovládací prvky, jeden funguje jako zprostředkovatel dat a druhý jako příjemce dat. Každý ovládací prvek musí mít jednu nebo více metod, které jsou definovány jako spojovací body. V případě ovládacího prvku příjemce jsou ConsumerConnectionPoint jeho spojovacími body objekty. Načtení spojovacích bodů příjemce je nezbytným krokem při vytváření připojení webových částí.

Příjemce musí mít vždy alespoň jeden spojovací bod, aby mohl navázat připojení. Metoda GetConsumerConnectionPoints zkontroluje ovládací prvek příjemce a načte kolekci všech svých spojovacích bodů. WebPart Pokud ovládací prvek nemá žádné spojovací body, vrátí metoda prázdnou kolekci.

Platí pro

Viz také