Bagikan melalui


WebPartManager.GetProviderConnectionPoints(WebPart) Metode

Definisi

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

public:
 virtual System::Web::UI::WebControls::WebParts::ProviderConnectionPointCollection ^ GetProviderConnectionPoints(System::Web::UI::WebControls::WebParts::WebPart ^ webPart);
public virtual System.Web.UI.WebControls.WebParts.ProviderConnectionPointCollection GetProviderConnectionPoints (System.Web.UI.WebControls.WebParts.WebPart webPart);
abstract member GetProviderConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ProviderConnectionPointCollection
override this.GetProviderConnectionPoints : System.Web.UI.WebControls.WebParts.WebPart -> System.Web.UI.WebControls.WebParts.ProviderConnectionPointCollection
Public Overridable Function GetProviderConnectionPoints (webPart As WebPart) As ProviderConnectionPointCollection

Parameter

webPart
WebPart

Kontrol server yang bertindak sebagai penyedia dalam koneksi.

Mengembalikan

yang ProviderConnectionPointCollection berisi semua titik koneksi dalam penyedia.

Pengecualian

webPartadalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan GetProviderConnectionPoints metode .

Contohnya 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 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 metode ini Page_Load , kode memeriksa untuk melihat apakah koneksi sudah ada dan, jika tidak, menentukan penyedia, konsumen, dan titik koneksi masing-masing, lalu menambahkan koneksi baru ke kumpulan koneksi statis yang dirujuk oleh StaticConnections properti . Perhatikan bahwa ProviderConnectionPointCollection objek yang diambil dengan menggunakan GetProviderConnectionPoints 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 WebPartManager Contoh dari 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 penyedia, titik koneksinya adalah ProviderConnectionPoint objek.

Penyedia harus selalu memiliki setidaknya satu titik koneksi untuk dapat membuat koneksi. Metode ini GetProviderConnectionPoints memeriksa kontrol penyedia dan mengambil kumpulan semua titik koneksinya. Mengambil titik koneksi penyedia adalah langkah yang diperlukan dalam membentuk koneksi Bagian Web.

Berlaku untuk

Lihat juga