WebPartManager.ConnectWebParts Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- ASP.NET Kontrol Komponen Web
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
- 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
- GetConsumerConnectionPoints(WebPart)
- GetProviderConnectionPoints(WebPart)
- Connections
- WebPartTransformer
- ASP.NET Kontrol Komponen Web