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 элемент управления .

Применяется к

См. также раздел