Sdílet prostřednictvím


WebPartManager.GetGenericWebPart(Control) Metoda

Definice

Získá odkaz na instanci GenericWebPart ovládacího prvku, který obsahuje ovládací prvek serveru.

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

Parametry

control
Control

Serverový ovládací prvek, který existuje v objektu WebPartZoneBase a je zabalen jako podřízený ovládací prvek objektu GenericWebPart za běhu.

Návraty

A GenericWebPart , který se zabalí control jako podřízený ovládací prvek. Metoda vrátí null , pokud control není obsažena v objektu GenericWebPart.

Výjimky

control je null.

Příklady

Následující příklad kódu ukazuje použití GetGenericWebPart metody . Příklad kódu obsahuje Calendar ovládací prvek deklarovaný WebPartZone v rámci zóny. Metoda Button1_Click nejprve vytiskne ID Calendar ovládacího prvku na popisek a pak pomocí GetGenericWebPart metody načte odkaz na GenericWebPart ovládací prvek, který zabalí kalendář. ID GenericWebPart ovládacího prvku a ID jeho podřízeného ovládacího prvku (kterým je Calendar ovládací prvek) se vytiskne na druhý popisek.

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

Poznámky

Obecně platí, že existují dvě kategorie ovládacích prvků, které vývojáři umístí do WebPartZoneBase zón pro účast v aplikacích webových částí: WebPart ovládací prvky, které dědí ze WebPart základní třídy, a další serverové ovládací prvky, které mohou být standardní ASP.NET ovládací prvky, vlastní ovládací prvky nebo uživatelské ovládací prvky. Když je některý z těchto ovládacích prvků umístěn v WebPartZoneBase zóně, převezme funkce WebPart ovládacího prvku. Ovládací WebPart prvek má tuto funkci ze své podstaty, ale jiné druhy serverových ovládacích prvků nikoli. Aby ostatní serverové ovládací prvky fungovaly při umístění do WebPartZoneBase zóny jako WebPart ovládací prvky, ASP.NET je zabalí do GenericWebPart ovládacího prvku. Vzhledem k tomu, že GenericWebPart ovládací prvek dědí přímo z WebPart třídy , poskytuje své podřízené ovládací prvky se skutečnými funkcemi webových částí.

V době běhu můžou vývojáři stránek často chtít získat odkaz na GenericWebPart ovládací prvek, který obsahuje jeden ze serverových ovládacích prvků v zóně. Metoda GetGenericWebPart jim umožňuje načíst odkaz na GenericWebPart ovládací prvek.

Platí pro

Viz také