Bagikan melalui


WebPartManager.GetConsumerConnectionPoints(WebPart) Metode

Definisi

Mengambil kumpulan ConsumerConnectionPoint objek yang dapat bertindak sebagai titik koneksi dari kontrol server yang bertindak sebagai konsumen dalam koneksi Bagian Web.

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

Kontrol server yang bertindak sebagai konsumen dalam koneksi.

Mengembalikan

ConsumerConnectionPointCollection yang berisi semua titik koneksi di konsumen.

Pengecualian

webPartadalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan GetConsumerConnectionPoints metode .

Contoh kode memiliki empat bagian:

  • Kontrol pengguna yang memungkinkan Anda mengubah mode tampilan pada halaman Bagian Web.

  • Halaman Web yang berisi dua kontrol kustom WebPart yang bisa disambungkan, dan <asp:webpartmanager> elemen .

  • File kode sumber yang berisi dua kontrol kustom WebPart dan antarmuka kustom.

  • Penjelasan tentang cara kerja contoh di browser.

Bagian pertama dari contoh kode adalah kontrol pengguna untuk mengubah mode tampilan. Anda dapat memperoleh kode sumber untuk kontrol pengguna dari bagian Contoh dari WebPartManager gambaran umum kelas. Untuk informasi selengkapnya tentang mode tampilan dan cara kerja kontrol pengguna, lihat topik Panduan: Mengubah Mode Tampilan pada Halaman Bagian Web.

Markup deklaratif untuk halaman Web berisi Register arahan untuk kontrol pengguna dan kontrol kustom. Ada <asp:webpartmanager> elemen, <asp:webpartzone> elemen untuk berisi kontrol kustom, dan <asp:connectionszone> elemen . Perhatikan bahwa dalam Page_Load metode , kode memeriksa untuk melihat apakah koneksi sudah ada dan, jika tidak, mendefinisikan penyedia, konsumen, dan titik koneksi masing-masing, lalu menambahkan koneksi baru ke kumpulan koneksi statis yang dirujuk oleh StaticConnections properti . Perhatikan bahwa ConsumerConnectionPointCollection objek yang diambil dengan menggunakan GetConsumerConnectionPoints metode kemudian diteruskan ke CanConnectWebParts metode untuk menentukan apakah koneksi antara kedua kontrol dapat dibuat.

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

Bagian ketiga dari contoh adalah kode sumber untuk kontrol. Anda dapat memperoleh kode ini, dan instruksi untuk mengkompilasinya, dari bagian Contoh dari WebPartManager gambaran umum kelas.

Setelah Anda memuat halaman Web di browser, klik kontrol daftar drop-down Mode Tampilan dan pilih Sambungkan untuk mengalihkan halaman ke mode sambungkan. Mode sambungkan menggunakan <asp:connectionszone> elemen untuk memungkinkan Anda membuat koneksi antar kontrol. Dalam mode sambungkan, klik panah ke bawah di bilah judul kontrol Kode Pos untuk mengaktifkan menu kata kerjanya, lalu klik Sambungkan. Setelah antarmuka pengguna koneksi (UI) muncul, perhatikan bahwa koneksi telah dibuat oleh kode yang terkandung dalam Page_Load metode . Jika Anda kembali ke halaman ini di sesi browser selanjutnya, koneksi statis ini akan sudah dibuat dan tidak perlu dibuat ulang setiap kali halaman dimuat.

Keterangan

Koneksi Bagian Web selalu melibatkan tepat dua kontrol, satu bertindak sebagai penyedia data, yang lain bertindak sebagai konsumen data. Setiap kontrol harus memiliki satu atau beberapa metode yang didefinisikan sebagai titik koneksi. Dalam kasus kontrol konsumen, titik koneksinya adalah ConsumerConnectionPoint objek. Mengambil titik koneksi konsumen adalah langkah yang diperlukan dalam membentuk koneksi Bagian Web.

Konsumen harus selalu memiliki setidaknya satu titik koneksi untuk dapat membuat koneksi. Metode ini GetConsumerConnectionPoints memeriksa kontrol konsumen dan mengambil kumpulan semua titik koneksinya. WebPart Jika kontrol tidak memiliki titik koneksi, metode mengembalikan koleksi kosong.

Berlaku untuk

Lihat juga