WebPartManager.GetGenericWebPart(Control) Methode

Definition

Ruft einen Verweis auf die Instanz des GenericWebPart-Steuerelements ab, die ein Serversteuerelement enthält.

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

Ein Serversteuerelement, das sich in einer WebPartZoneBase befindet und zur Laufzeit als untergeordnetes Steuerelement eines GenericWebPart umschlossen wird.

Gibt zurück

Ein GenericWebPart, der control als untergeordnetes Steuerelement umschließt. Die Methode gibt null zurück, wenn control nicht in einem GenericWebPart enthalten ist.

Ausnahmen

control ist null.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der GetGenericWebPart -Methode veranschaulicht. Das Codebeispiel enthält ein Calendar Innerhalb einer Zone deklariertes WebPartZone Steuerelement. Die Button1_Click -Methode gibt zunächst die ID des Calendar Steuerelements in einer Bezeichnung aus und verwendet dann die GetGenericWebPart -Methode, um einen Verweis auf das Steuerelement abzurufen, das GenericWebPart den Kalender umschließt. Die ID des GenericWebPart Steuerelements und die ID des untergeordneten Steuerelements (bei dem es sich um das Calendar Steuerelement handelt), werden beide auf einer zweiten Bezeichnung gedruckt.

<%@ 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>

Hinweise

Im Allgemeinen gibt es zwei Kategorien von Steuerelementen, die Entwickler in WebPartZoneBase Zonen platzieren, um an Webparts-Anwendungen teilzunehmen: WebPart Steuerelemente, die von der WebPart Basisklasse erben, und andere Serversteuerelemente, bei denen es sich um Standardsteuerelemente ASP.NET, benutzerdefinierte Steuerelemente oder Benutzersteuerelemente handeln kann. Wenn eines dieser Steuerelemente in einer WebPartZoneBase Zone platziert wird, übernimmt es die Funktionalität eines WebPart Steuerelements. Ein WebPart Steuerelement verfügt über diese Funktionalität inhärent, aber die anderen Arten von Serversteuerelementen nicht. Damit die anderen Serversteuerelemente als WebPart Steuerelemente fungieren können, wenn sie in einer WebPartZoneBase Zone platziert werden, umschließt ASP.NET sie mit einem GenericWebPart -Steuerelement. Da das GenericWebPart Steuerelement direkt von der WebPart -Klasse erbt, stellt es seine untergeordneten Steuerelemente mit echten Webparts-Features bereit.

Häufig möchten Seitenentwickler zur Laufzeit einen Verweis auf das GenericWebPart Steuerelement abrufen, das eines der Serversteuerelemente in einer Zone enthält. Mit GetGenericWebPart der -Methode können sie einen Verweis auf das GenericWebPart -Steuerelement abrufen.

Gilt für:

Weitere Informationen