Bagikan melalui


WebPartManager.ConnectWebParts Metode

Definisi

Membuat koneksi antara dua WebPart kontrol (atau kontrol server lain yang mampu membentuk koneksi) yang berada di zona WebPartZoneBase .

Overload

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Membuat koneksi antara dua WebPart atau GenericWebPart kontrol hanya menggunakan referensi ke kontrol dan objek yang ditentukan ConnectionPoint .

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)

Membuat koneksi antara dua WebPart atau GenericWebPart kontrol menggunakan referensi ke kontrol, objek yang ditentukan ConnectionPoint , dan WebPartTransformer objek.

Keterangan

Metode ini ConnectWebParts membentuk koneksi antara dua WebPart kontrol yang dapat disambungkan. Sebelum memanggil metode ini untuk membuat koneksi, Anda mungkin juga ingin memanggil CanConnectWebParts metode dalam pemeriksaan bersyarat untuk memastikan bahwa kontrol memenuhi persyaratan untuk membentuk koneksi.

Catatan

Dimungkinkan juga untuk membuat koneksi antara dua kontrol server yang bukan WebPart kontrol. Secara umum, kedua kontrol harus merupakan kontrol server kustom (misalnya, kontrol yang mewarisi dari WebControl atau kontrol server ASP.NET yang ada) sehingga Anda dapat menambahkan anggota yang diperlukan. Kontrol juga harus memenuhi persyaratan yang ditentukan di bawah ini.

Semua jenis skenario koneksi antara dua kontrol harus memenuhi persyaratan berikut untuk dapat terhubung:

  • Setiap kontrol berada di WebPartZoneBase zona (tidak harus zona yang sama).

  • Seperti yang diimplementasikan dalam kumpulan kontrol Bagian Web, kontrol penyedia dalam koneksi mengimplementasikan antarmuka sebagai metode publik yang berfungsi sebagai panggilan balik ke penyedia, dan memiliki ConnectionProvider atribut metadata pada metode untuk mengidentifikasinya sebagai titik koneksi penyedia. GetProviderConnectionPoints Karena metode yang mengambil titik koneksi penyedia bersifat virtual, kontrol turunan WebPartManager tidak harus menggunakan atribut metadata yang sama.

  • Seperti yang diimplementasikan dalam set kontrol Bagian Web, kontrol konsumen dalam koneksi juga memiliki metode khusus yang memungkinkannya untuk mendapatkan referensi ke antarmuka yang terekspos dalam metode panggilan balik penyedia, dan konsumen memiliki ConnectionConsumer atribut metadata pada metode untuk mengidentifikasinya sebagai titik koneksi konsumen. GetConsumerConnectionPoints Karena metode yang mengambil titik koneksi konsumen bersifat virtual, kontrol turunan WebPartManager tidak harus menggunakan atribut metadata yang sama.

  • Metode panggilan balik harus kompatibel, di mana konsumen dapat menggunakan jenis antarmuka yang disediakan dalam metode panggilan balik penyedia (artinya konsumen dan penyedia dapat berbagi data secara langsung), atau pengembang harus menggunakan WebPartTransformer objek untuk mengubah data dari penyedia menjadi bentuk yang dapat digunakan konsumen.

    Penting

    Ketika Anda tidak memerlukan transformator, gunakan ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint) metode kelebihan beban. Saat Anda memerlukan transformator, gunakan ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer) metode kelebihan beban.

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint)

Membuat koneksi antara dua WebPart atau GenericWebPart kontrol hanya menggunakan referensi ke kontrol dan objek yang ditentukan ConnectionPoint .

public:
 System::Web::UI::WebControls::WebParts::WebPartConnection ^ ConnectWebParts(System::Web::UI::WebControls::WebParts::WebPart ^ provider, System::Web::UI::WebControls::WebParts::ProviderConnectionPoint ^ providerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPart ^ consumer, System::Web::UI::WebControls::WebParts::ConsumerConnectionPoint ^ consumerConnectionPoint);
public System.Web.UI.WebControls.WebParts.WebPartConnection ConnectWebParts (System.Web.UI.WebControls.WebParts.WebPart provider, System.Web.UI.WebControls.WebParts.ProviderConnectionPoint providerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPart consumer, System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint consumerConnectionPoint);
member this.ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint -> System.Web.UI.WebControls.WebParts.WebPartConnection
Public Function ConnectWebParts (provider As WebPart, providerConnectionPoint As ProviderConnectionPoint, consumer As WebPart, consumerConnectionPoint As ConsumerConnectionPoint) As WebPartConnection

Parameter

provider
WebPart

WebPart Kontrol yang memiliki peran melengkungkan data ke kontrol terhubung lainnya.

providerConnectionPoint
ProviderConnectionPoint

Metode yang berfungsi sebagai metode panggilan balik untuk koneksi. Seperti yang diimplementasikan dalam kumpulan kontrol Bagian Web, ini adalah metode publik yang provider ditandai dengan ConnectionProvider atribut metadata.

consumer
WebPart

WebPart Kontrol yang memiliki peran menerima data dari provider, lalu memproses atau menampilkannya.

consumerConnectionPoint
ConsumerConnectionPoint

Metode yang terhubung dengan providerConnectionPoint untuk menerima data untuk koneksi. Seperti yang diimplementasikan dalam kumpulan kontrol Bagian Web, ini adalah metode publik yang consumer ditandai dengan ConnectionConsumer atribut metadata.

Mengembalikan

yang WebPartConnection berisi berbagai informasi tentang penyedia dan konsumen yang diperlukan untuk koneksi.

Pengecualian

Kumpulan WebPartManager koleksi dinamis kontrol bersifat baca-saja.

Contoh

Contoh kode berikut menunjukkan cara menggunakan metode ini untuk membuat koneksi secara terprogram. Untuk kode lengkap yang diperlukan untuk menjalankan contoh, lihat bagian Contoh dari WebPartManager gambaran umum kelas. Dari contoh tersebut, Anda akan memerlukan kode sumber untuk kontrol pengguna yang memungkinkan Anda mengubah mode tampilan di halaman, dan kode sumber untuk dua kontrol kustom WebPart .

Kode untuk halaman Web yang menghosting dua kontrol berikut. Halaman ini menggunakan Register direktif di bagian atas untuk mendeklarasikan kontrol pengguna dan kontrol kustom. Kontrol kustom kemudian direferensikan secara deklaratif dalam <asp:webpartzone> elemen . Kode yang menangani Button1_Click metode membuat koneksi antara kontrol dengan menggunakan ConnectWebParts metode .

<%@ 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 Button1_Click(object sender, EventArgs e)
  {
    ProviderConnectionPoint provPoint = 
      mgr.GetProviderConnectionPoints(zip1)["ZipCodeProvider"];
    ConsumerConnectionPoint connPoint = 
      mgr.GetConsumerConnectionPoints(weather1)["ZipCodeConsumer"];
    WebPartConnection conn1 = mgr.ConnectWebParts(zip1, provPoint,
      weather1, connPoint);
  }

  protected void mgr_DisplayModeChanged(object sender, 
    WebPartDisplayModeEventArgs e)
  {
    if (mgr.DisplayMode == WebPartManager.ConnectDisplayMode)
      Button1.Visible = true;
    else
      Button1.Visible = false;
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server" 
    OnDisplayModeChanged="mgr_DisplayModeChanged">
      </asp:WebPartManager>
      <uc1:DisplayModeMenuCS ID="menu1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:ZipCodeWebPart ID="zip1" runat="server"
            Title="Zip Code Provider" />
          <aspSample:WeatherWebPart ID="weather1" runat="server" 
            Title="Zip Code Consumer" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
      </asp:ConnectionsZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Connect WebPart Controls" 
        OnClick="Button1_Click" 
    Visible="false" />
    </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 Button1_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    
    Dim provPoint As ProviderConnectionPoint = _
      mgr.GetProviderConnectionPoints(zip1)("ZipCodeProvider")
    Dim connPoint As ConsumerConnectionPoint = _
      mgr.GetConsumerConnectionPoints(weather1)("ZipCodeConsumer")
    mgr.ConnectWebParts(zip1, provPoint, weather1, connPoint)

  End Sub

  Protected Sub mgr_DisplayModeChanged (ByVal sender as Object, _
    ByVal e as WebPartDisplayModeEventArgs)

    If mgr.DisplayMode is WebPartManager.ConnectDisplayMode Then
    Button1.Visible = True
    Else
    Button1.Visible = False
    End If

  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server" 
    OnDisplayModeChanged="mgr_DisplayModeChanged">
      </asp:WebPartManager>
      <uc1:DisplayModeMenuVB ID="menu1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:ZipCodeWebPart ID="zip1" runat="server"
            Title="Zip Code Provider" />
          <aspSample:WeatherWebPart ID="weather1" runat="server" 
            Title="Zip Code Consumer" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
      </asp:ConnectionsZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Connect WebPart Controls" 
        OnClick="Button1_Click" 
    Visible="false" />
    </div>
    </form>
</body>
</html>

Setelah Anda memuat halaman di browser, klik tombol Sambungkan Kontrol Bagian Web untuk membentuk koneksi. Anda kemudian dapat memasukkan beberapa data dalam kotak teks, dan klik tombol Masukkan Kode Pos 5 digit untuk menunjukkan bahwa kontrol tersambung, dan data yang dimasukkan dalam kontrol pertama diperbarui di kontrol kedua.

Keterangan

Kelebihan beban ini digunakan untuk menyambungkan kontrol ketika titik koneksinya cukup kompatibel sehingga dapat tersambung tanpa menggunakan WebPartTransformer objek. Ketika kelebihan beban metode ini dipanggil, metode ini hanya meneruskan panggilan ke versi metode yang kelebihan beban lainnya, dan meneruskan null parameter yang memerlukan WebPartTransformer objek.

Ketika Anda mencoba menyambungkan dua kontrol secara terprogram, Anda dapat menggunakan CanConnectWebParts metode dalam pemeriksaan kondisional untuk menentukan apakah kontrol dapat terhubung langsung.

Lihat juga

Berlaku untuk

ConnectWebParts(WebPart, ProviderConnectionPoint, WebPart, ConsumerConnectionPoint, WebPartTransformer)

Membuat koneksi antara dua WebPart atau GenericWebPart kontrol menggunakan referensi ke kontrol, objek yang ditentukan ConnectionPoint , dan WebPartTransformer objek.

public:
 virtual System::Web::UI::WebControls::WebParts::WebPartConnection ^ ConnectWebParts(System::Web::UI::WebControls::WebParts::WebPart ^ provider, System::Web::UI::WebControls::WebParts::ProviderConnectionPoint ^ providerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPart ^ consumer, System::Web::UI::WebControls::WebParts::ConsumerConnectionPoint ^ consumerConnectionPoint, System::Web::UI::WebControls::WebParts::WebPartTransformer ^ transformer);
public virtual System.Web.UI.WebControls.WebParts.WebPartConnection ConnectWebParts (System.Web.UI.WebControls.WebParts.WebPart provider, System.Web.UI.WebControls.WebParts.ProviderConnectionPoint providerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPart consumer, System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint consumerConnectionPoint, System.Web.UI.WebControls.WebParts.WebPartTransformer transformer);
abstract member ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint * System.Web.UI.WebControls.WebParts.WebPartTransformer -> System.Web.UI.WebControls.WebParts.WebPartConnection
override this.ConnectWebParts : System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ProviderConnectionPoint * System.Web.UI.WebControls.WebParts.WebPart * System.Web.UI.WebControls.WebParts.ConsumerConnectionPoint * System.Web.UI.WebControls.WebParts.WebPartTransformer -> System.Web.UI.WebControls.WebParts.WebPartConnection
Public Overridable Function ConnectWebParts (provider As WebPart, providerConnectionPoint As ProviderConnectionPoint, consumer As WebPart, consumerConnectionPoint As ConsumerConnectionPoint, transformer As WebPartTransformer) As WebPartConnection

Parameter

provider
WebPart

WebPart yang memiliki peran melengkungkan data ke kontrol lain yang terhubung.

providerConnectionPoint
ProviderConnectionPoint

Metode publik dalam provider yang ditandai dengan ConnectionProvider atribut metadata, dan berfungsi sebagai metode panggilan balik untuk koneksi.

consumer
WebPart

yang WebPart memiliki peran menerima data dari provider atau transformer, lalu memproses atau menampilkannya.

consumerConnectionPoint
ConsumerConnectionPoint

Metode publik dalam consumer yang ditandai dengan ConnectionConsumer atribut metadata, dan terhubung dengan providerConnectionPoint untuk menerima data untuk koneksi.

transformer
WebPartTransformer

WebPartTransformer yang memungkinkan koneksi antara dua kontrol dengan mengonversi data dari provider ke format yang consumer dapat diproses.

Mengembalikan

WebPartConnection yang berisi informasi tentang penyedia, konsumen, dan transformator yang diperlukan untuk koneksi.

Pengecualian

Koneksi telah diaktifkan di PreRender.

Keterangan

Kelebihan beban ini digunakan untuk menyambungkan kontrol ketika titik koneksinya tidak kompatibel. Ketidaksesuaian terjadi ketika consumer mengimplementasikan antarmuka yang berbeda dari provider sebagai titik koneksinya. Transformator mengonversi data menjadi jenis yang dapat dipahami oleh consumer.

Lihat juga

Berlaku untuk