WebPartManager.GetGenericWebPart(Control) 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.
Mendapatkan referensi ke instans GenericWebPart kontrol yang berisi kontrol server.
public:
System::Web::UI::WebControls::WebParts::GenericWebPart ^ GetGenericWebPart(System::Web::UI::Control ^ control);
public System.Web.UI.WebControls.WebParts.GenericWebPart GetGenericWebPart (System.Web.UI.Control control);
member this.GetGenericWebPart : System.Web.UI.Control -> System.Web.UI.WebControls.WebParts.GenericWebPart
Public Function GetGenericWebPart (control As Control) As GenericWebPart
Parameter
- control
- Control
Kontrol server yang ada di dan dibungkus WebPartZoneBase sebagai kontrol anak pada GenericWebPart durasi.
Mengembalikan
Yang GenericWebPart membungkus control
sebagai kontrol anak. Metode mengembalikan null
jika control
tidak terkandung dalam GenericWebPart.
Pengecualian
control
adalah null
.
Contoh
Contoh kode berikut menunjukkan penggunaan GetGenericWebPart metode . Contoh kode berisi kontrol yang Calendar dideklarasikan dalam WebPartZone zona. Metode pertama-tama Button1_Click
mencetak ID Calendar kontrol ke label, lalu menggunakan GetGenericWebPart metode untuk mengambil referensi ke GenericWebPart kontrol yang membungkus kalender. ID GenericWebPart kontrol, dan ID kontrol anaknya (yang merupakan Calendar kontrol), keduanya dicetak ke label kedua.
<%@ Page Language="C#" %>
<!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)
{
Label1.Text = "<h2>Server Control</h2>";
Label1.Text += "Server Control ID: " + Calendar1.ID;
Label2.Text = "<h2>GenericWebPart Control</h2>";
GenericWebPart part = mgr.GetGenericWebPart(Calendar1);
if (part != null)
{
Label2.Text +=
"GenericWebPart ID: " + part.ID + "<br />";
Label2.Text +=
"Underlying Control ID: " + part.ChildControl.ID;
}
}
</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" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:Button ID="Button1" runat="server"
Text="Get GenericWebPart"
OnClick="Button1_Click" />
<hr />
<asp:Label ID="Label1" runat="server" Text="" />
<br />
<asp:Label ID="Label2" runat="server" Text="" />
</div>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<!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)
Label1.Text = "<h2>Server Control</h2>"
Label1.Text += "Server Control ID: " + Calendar1.ID
Label2.Text = "<h2>GenericWebPart Controls</h2>"
Dim part As GenericWebPart
part = mgr.GetGenericWebPart(Calendar1)
If part IsNot Nothing Then
Label2.Text += _
"GenericWebPart ID: " & part.ID & "<br />"
Label2.Text += _
"Underlying Control ID: " + part.ChildControl.ID
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:WebPartManager ID="mgr" runat="server" />
<asp:WebPartZone ID="WebPartZone1" runat="server">
<ZoneTemplate>
<asp:Calendar ID="Calendar1" runat="server"
Title="My Calendar" />
</ZoneTemplate>
</asp:WebPartZone>
<asp:Button ID="Button1" runat="server"
Text="Get GenericWebPart"
OnClick="Button1_Click" />
<hr />
<asp:Label ID="Label1" runat="server" Text="" />
<br />
<asp:Label ID="Label2" runat="server" Text="" />
</div>
</form>
</body>
</html>
Keterangan
Secara umum, ada dua kategori kontrol yang ditempatkan pengembang di WebPartZoneBase zona untuk berpartisipasi dalam aplikasi Komponen Web: WebPart kontrol, yang mewarisi dari WebPart kelas dasar, dan kontrol server lainnya, yang dapat menjadi kontrol ASP.NET standar, kontrol kustom, atau kontrol pengguna. Ketika salah satu kontrol ini ditempatkan di WebPartZoneBase zona, itu mengambil fungsionalitas WebPart kontrol. WebPart Kontrol memiliki fungsionalitas ini secara inheren, tetapi jenis kontrol server lainnya tidak. Untuk mengaktifkan kontrol server lain untuk bertindak sebagai WebPart kontrol ketika ditempatkan di WebPartZoneBase zona, ASP.NET membungkusnya dengan GenericWebPart kontrol. Karena kontrol mewarisi GenericWebPart langsung dari WebPart kelas, kontrol turunannya menyediakan kontrol turunannya dengan fitur Bagian Web yang benar.
Seringkali pada durasi, pengembang halaman mungkin ingin mendapatkan referensi ke GenericWebPart kontrol yang berisi salah satu kontrol server di zona. Metode ini GetGenericWebPart memungkinkan mereka untuk mengambil referensi ke GenericWebPart kontrol.