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

GenericWebPart

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 Steuerelement, das in einer WebPartZone Zone deklariert ist. Die Button1_Click Methode druckt zuerst die ID des Calendar Steuerelements in eine Bezeichnung und verwendet dann die GetGenericWebPart Methode, um einen Verweis auf das Steuerelement abzurufen, das den GenericWebPart Kalender umschließt. Die ID des GenericWebPart Steuerelements und die ID des untergeordneten Steuerelements (das Steuerelement ist das Calendar Steuerelement) werden beide auf eine zweite 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 Zonen platzieren, um an WebPartZoneBase Webparts Anwendungen teilzunehmen: WebPart Steuerelemente, die von der WebPart Basisklasse erben, und andere Serversteuerelemente, die standardmäßige ASP.NET Steuerelemente, benutzerdefinierte Steuerelemente oder Benutzersteuerelemente sein können. Wenn eines dieser Steuerelemente in einer WebPartZoneBase Zone platziert wird, übernimmt sie die Funktionalität eines WebPart Steuerelements. Ein WebPart Steuerelement verfügt über diese Funktionalität inhärent, aber die anderen Arten von Serversteuerelementen sind nicht vorhanden. Damit die anderen Serversteuerelemente als WebPart Steuerelemente fungieren können, wenn sie in einer WebPartZoneBase Zone platziert werden, ASP.NET sie mit einem GenericWebPart Steuerelement umschließt. Da das GenericWebPart Steuerelement direkt von der WebPart Klasse erbt, stellt es seine untergeordneten Steuerelemente mit true Webparts Features bereit.

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

Gilt für

Siehe auch