WebPartManager.GetProviderConnectionPoints(WebPart) 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.
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
webPart
adalah 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.