WebPartManager.GetGenericWebPart(Control) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает ссылку на экземпляр элемента управления GenericWebPart, содержащий серверный элемент управления.
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
Параметры
- control
- Control
Серверный элемент управления, который существует в WebPartZoneBase и помещен в оболочку в качестве дочернего элемента управления для объекта GenericWebPart во время выполнения.
Возвращаемое значение
Объект GenericWebPart,который служит оболочкой для параметра control
в качестве дочернего элемента управления. Этот метод возвращает значение null
, если параметр control
не содержится в объекте GenericWebPart.
Исключения
control
имеет значение null
.
Примеры
В следующем примере кода показано использование GetGenericWebPart метода . Пример кода содержит элемент управления, объявленный CalendarWebPartZone в пределах зоны. Метод Button1_Click
сначала выводит идентификатор элемента управления в Calendar метку, а затем использует GetGenericWebPart метод для получения ссылки на GenericWebPart элемент управления, который заключает календарь в оболочку. Идентификатор GenericWebPart элемента управления и идентификатор его дочернего элемента управления (который является элементом Calendar управления) выводится на вторую метку.
<%@ 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>
Комментарии
Как правило, существует две категории элементов управления, которые разработчики размещают в WebPartZoneBase зонах для участия в приложениях веб-частей: WebPart элементы управления, которые наследуются от WebPart базового класса, и другие серверные элементы управления, которые могут быть стандартными элементами управления ASP.NET, пользовательскими элементами управления или пользовательскими элементами управления. Когда любой из этих элементов управления помещается в WebPartZoneBase зону, он принимает на себя функциональные WebPart возможности элемента управления. Элемент WebPart управления имеет эту функциональность по своей сути, а другие типы серверных элементов управления — нет. Чтобы другие серверные элементы управления могли действовать в качестве WebPart элементов управления при их размещении в зоне, ASP.NET заключает их в WebPartZoneBase оболочку с элементом GenericWebPart управления . GenericWebPart Поскольку элемент управления наследуется непосредственно от WebPart класса , он предоставляет его дочерним элементам управления с истинными функциями веб-частей.
Часто во время выполнения разработчикам страниц может потребоваться получить ссылку GenericWebPart на элемент управления, содержащий один из серверных элементов управления в зоне. Метод GetGenericWebPart позволяет им получить ссылку на GenericWebPart элемент управления .