WebPartManager.GetGenericWebPart(Control) Metodo

Definizione

Ottiene un riferimento all'istanza del controllo GenericWebPart che contiene un controllo server.

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

Parametri

control
Control

Controllo server presente in una classe WebPartZoneBase e che viene incluso come controllo figlio di un controllo GenericWebPart in fase di esecuzione.

Restituisce

Controllo GenericWebPart che include control come controllo figlio. Il metodo restituisce null se control non è incluso in un controllo GenericWebPart.

Eccezioni

control è null.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso del GetGenericWebPart metodo . L'esempio di codice contiene un Calendar controllo dichiarato all'interno di una WebPartZone zona. Il Button1_Click metodo stampa prima l'ID del Calendar controllo in un'etichetta e quindi usa il GetGenericWebPart metodo per recuperare un riferimento al GenericWebPart controllo che esegue il wrapping del calendario. L'ID del GenericWebPart controllo e l'ID del relativo controllo figlio (ovvero il Calendar controllo ), vengono entrambi stampati in una seconda etichetta.

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

Commenti

In generale, esistono due categorie di controlli che gli sviluppatori inseriscono nelle WebPartZoneBase zone per partecipare alle applicazioni Web part: WebPart controlli che ereditano dalla WebPart classe base e altri controlli server, che possono essere controlli standard ASP.NET, controlli personalizzati o controlli utente. Quando uno di questi controlli viene posizionato in una WebPartZoneBase zona, assume la funzionalità di un WebPart controllo. Un WebPart controllo ha questa funzionalità intrinsecamente, ma gli altri tipi di controlli server non lo fanno. Per consentire agli altri controlli server di agire come WebPart controlli quando vengono posizionati in una WebPartZoneBase zona, ASP.NET li esegue il wrapping con un GenericWebPart controllo . Poiché il GenericWebPart controllo eredita direttamente dalla WebPart classe , fornisce ai relativi controlli figlio funzionalità true web part.

Spesso in fase di esecuzione, gli sviluppatori di pagine potrebbero voler ottenere un riferimento al GenericWebPart controllo che contiene uno dei controlli server in una zona. Il GetGenericWebPart metodo consente di recuperare un riferimento al GenericWebPart controllo .

Si applica a

Vedi anche