WebPartManager.GetConsumerConnectionPoints(WebPart) Methode

Definition

Ruft eine Auflistung von ConsumerConnectionPoint-Objekten ab, die als Verbindungspunkte von einem Serversteuerelement verwendet werden können, das als Consumer in einer Webparts-Verbindung fungiert.

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

Parameter

webPart
WebPart

Ein Serversteuerelement, das als Consumer in einer Verbindung fungiert.

Gibt zurück

Eine ConsumerConnectionPointCollection, die alle Verbindungspunkte im Consumer enthält.

Ausnahmen

webPart ist null.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie die GetConsumerConnectionPoints-Methode verwenden.

Das Codebeispiel umfasst vier Teile:

  • Ein Benutzersteuerelement, mit dem Sie die Anzeigemodi auf einer Webparts-Seite ändern können.

  • Eine Webseite, die zwei benutzerdefinierte WebPart Steuerelemente enthält, die verbunden werden können, und ein <asp:webpartmanager> -Element.

  • Eine Quellcodedatei, die zwei benutzerdefinierte WebPart Steuerelemente und eine benutzerdefinierte Schnittstelle enthält.

  • Eine Erläuterung der Funktionsweise des Beispiels in einem Browser.

Der erste Teil des Codebeispiels ist das Benutzersteuerelement zum Ändern der Anzeigemodi. Sie können den Quellcode für das Benutzersteuerelement im Abschnitt Beispiel der WebPartManager Klassenübersicht abrufen. Weitere Informationen zu Anzeigemodi und zur Funktionsweise des Benutzersteuerelements finden Sie im Thema Exemplarische Vorgehensweise: Ändern von Anzeigemodi auf einer Webparts-Seite.

Das deklarative Markup für die Webseite enthält Register Anweisungen sowohl für das Benutzersteuerelement als auch für die benutzerdefinierten Steuerelemente. Es gibt ein <asp:webpartmanager> -Element, ein <asp:webpartzone> -Element, das die benutzerdefinierten Steuerelemente enthält, und ein <asp:connectionszone> -Element. Beachten Sie, dass der Code in der Page_Load -Methode überprüft, ob bereits eine Verbindung vorhanden ist. Wenn dies nicht der Fehler ist, definiert er einen Anbieter, einen Consumer und die entsprechenden Verbindungspunkte und fügt dann dem Satz statischer Verbindungen, auf die von der StaticConnections -Eigenschaft verwiesen wird, eine neue Verbindung hinzu. Beachten Sie, dass das ConsumerConnectionPointCollection Objekt, das mithilfe der GetConsumerConnectionPoints -Methode abgerufen wird, dann an die CanConnectWebParts -Methode übergeben wird, um zu bestimmen, ob eine Verbindung zwischen den beiden Steuerelementen erstellt werden kann.

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

Der dritte Teil des Beispiels ist der Quellcode für die Steuerelemente. Sie können diesen Code und Anweisungen zum Kompilieren im Abschnitt Beispiel der WebPartManager Klassenübersicht abrufen.

Nachdem Sie die Webseite in einem Browser geladen haben, klicken Sie auf das Dropdown-Listensteuerelement Anzeigemodus , und wählen Sie Verbinden aus, um die Seite in den Verbindungsmodus zu wechseln. Im Verbindungsmodus wird das <asp:connectionszone> -Element verwendet, damit Sie Verbindungen zwischen Steuerelementen erstellen können. Klicken Sie im Verbindungsmodus auf den Pfeil nach unten in der Titelleiste des POSTLEITZAHL-Steuerelements , um das Menü "Verben" zu aktivieren, und klicken Sie dann auf Verbinden. Nachdem die Benutzeroberfläche (UI) der Verbindung angezeigt wird, beachten Sie, dass bereits eine Verbindung mit dem code erstellt wurde, der in der Page_Load -Methode enthalten ist. Wenn Sie in einer späteren Browsersitzung zu dieser Seite zurückkehren, wird diese statische Verbindung bereits hergestellt und muss nicht jedes Mal neu erstellt werden, wenn die Seite geladen wird.

Hinweise

Eine Webparts-Verbindung umfasst immer genau zwei Steuerelemente: eines fungiert als Datenanbieter, das andere als Datenverbraucher. Jedes Steuerelement muss über eine oder mehrere Methoden verfügen, die als Verbindungspunkte definiert sind. Im Fall eines Consumersteuerelements sind ConsumerConnectionPoint seine Verbindungspunkte Objekte. Das Abrufen der Consumerverbindungspunkte ist ein erforderlicher Schritt beim Herstellen einer Webparts-Verbindung.

Ein Consumer muss immer über mindestens einen Verbindungspunkt verfügen, um eine Verbindung herstellen zu können. Die GetConsumerConnectionPoints -Methode überprüft ein Consumer-Steuerelement und ruft eine Auflistung aller zugehörigen Verbindungspunkte ab. Wenn ein WebPart Steuerelement über keine Verbindungspunkte verfügt, gibt die Methode eine leere Auflistung zurück.

Gilt für:

Weitere Informationen