WebPartManager.GetGenericWebPart(Control) Metod

Definition

Hämtar en referens till instansen av kontrollen GenericWebPart som innehåller en serverkontroll.

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

Parametrar

control
Control

En serverkontroll som finns i en WebPartZoneBase och omsluts som en underordnad kontroll av en GenericWebPart vid körning.

Returer

En GenericWebPart som omsluts som en underordnad control kontroll. Metoden returnerar null om control den inte finns i en GenericWebPart.

Undantag

control är null.

Exempel

I följande kodexempel visas hur metoden används GetGenericWebPart . Kodexemplet innehåller en Calendar kontroll som deklarerats i en WebPartZone zon. Metoden Button1_Click skriver först ut kontrollens ID Calendar till en etikett och använder GetGenericWebPart sedan metoden för att hämta en referens till kontrollen GenericWebPart som omsluter kalendern. ID:t för GenericWebPart kontrollen och ID:t för dess underordnade kontroll (som är Calendar kontrollen) skrivs båda ut till en andra etikett.

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

Kommentarer

I allmänhet finns det två kategorier av kontroller som utvecklare placerar i WebPartZoneBase-zoner för att delta i webbdelsprogram: WebPart kontroller, som ärver från basklassen WebPart och andra serverkontroller, som kan vara standard ASP.NET kontroller, anpassade kontroller eller användarkontroller. När någon av dessa kontroller placeras i en WebPartZoneBase zon tar den på sig funktionerna i en WebPart kontroll. En WebPart kontroll har den här funktionen i sig, men de andra typerna av serverkontroller gör det inte. Om du vill att de andra serverkontrollerna ska fungera som WebPart kontroller när de placeras i en WebPartZoneBase zon, omsluter ASP.NET dem med en GenericWebPart kontroll. GenericWebPart Eftersom kontrollen ärver direkt från klassen ger den WebPart sina underordnade kontroller med sanna webbdelsfunktioner.

Vid körning kanske sidutvecklare vill ha en referens till kontrollen GenericWebPart som innehåller en av serverkontrollerna i en zon. Med GetGenericWebPart metoden kan de hämta en referens till GenericWebPart kontrollen.

Gäller för

Se även