Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

WebPartManager.CreateWebPart-Methode

Schließt ein Serversteuerelement, das kein WebPart-Steuerelement ist, mit einem GenericWebPart-Objekt in einen Wrapper ein, sodass das Steuerelement über Webparts-Funktionen verfügt.

Namespace: System.Web.UI.WebControls.WebParts
Assembly: System.Web (in system.web.dll)

public virtual GenericWebPart CreateWebPart (
	Control control
)
public GenericWebPart CreateWebPart (
	Control control
)
public function CreateWebPart (
	control : Control
) : GenericWebPart
Nicht zutreffend.

Parameter

control

Ein Serversteuerelement, das kein WebPart-Steuerelement ist.

Rückgabewert

Ein GenericWebPart, der control in einen Wrapper einschließt und damit dessen Verwendung als echtes WebPart-Steuerelement ermöglicht.

Die CreateWebPart-Methode ist der wichtigste Mechanismus, mit dem Serversteuerelemente, die keine WebPart-Steuerelemente sind, mit denselben Funktionen wie WebPart-Steuerelemente ausgestattet werden und somit vollständig an Webparts-Anwendungen teilnehmen können. Mithilfe dieser Methode können Entwickler die Anzahl der Serversteuerelemente, die sie in einer Webparts-Anwendung verwenden können, erheblich steigern, da praktisch jeder Typ von Serversteuerelementen (ASP.NET-Standardsteuerelemente, Benutzersteuerelemente und benutzerdefinierte Steuerelemente) verwendet werden kann.

Das WebPartManager-Steuerelement verwendet diese Methode auch in anderen Szenarios, um Serversteuerelemente mit einem GenericWebPart-Objekt in einen Wrapper einzuschließen. Wenn Benutzer das ImportCatalogPart-Steuerelement verwenden, um einer Seite Serversteuerelemente hinzuzufügen, und das importierte Steuerelement kein WebPart-Steuerelement ist, wird die CreateWebPart-Methode aufgerufen. Wenn Serversteuerelemente in einer WebPartZoneBase-Zone auf einer Webseite im persistenten Format deklariert sind, wird die CreateWebPart-Methode ebenfalls für alle Steuerelemente aufgerufen, die keine WebPart-Steuerelemente sind.

Um ein Serversteuerelement einer Zone programmgesteuert hinzuzufügen, wird häufig der folgende Ansatz verwendet: Das Steuerelement wird mithilfe der CreateWebPart-Methode mit einem GenericWebPart-Objekt in einen Wrapper eingeschlossen, und anschließend wird die AddWebPart-Methode aufgerufen, um das Steuerelement der Auflistung aller WebPart-Steuerelemente auf der Seite hinzuzufügen. Die WebParts-Eigenschaft verweist auf diese Auflistung.

Hinweise zur Vererbung: Diese Methode kann überschrieben werden, um anstelle der mit dem Webparts-Steuerelementsatz bereitgestellten Basisklasse eine abgeleitete GenericWebPart-Klasse zu verwenden.

Im folgenden Codebeispiel wird die Verwendung der CreateWebPart-Methode veranschaulicht. In Button2_Click method wird die CreateWebPart-Methode aufgerufen, um ein Calendar-Steuerelement mit einem GenericWebPart-Objekt in einen Wrapper einzuschließen, bevor es der Zone hinzugefügt wird.

<%@ 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 Button2_Click(object sender, EventArgs e)
  {
    WebPartManager mgr = WebPartManager1;
    Calendar cal = new Calendar();
    cal.ID = "cal1";
    GenericWebPart calWebPart = mgr.CreateWebPart(cal);
    mgr.AddWebPart(calWebPart, WebPartZone1, 1);
  }

  protected void Button1_Click(object sender, EventArgs e)
  {
    if (WebPartZone1.WebParts.Count > 1)
    {
      WebPart cal = WebPartZone1.WebParts[1];
      if (cal.Controls[0].GetType().Name == "Calendar" 
        && cal != null)
        WebPartManager1.DeleteWebPart(cal);
    }

  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Adding a Server Control</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="WebPartManager1" 
        runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList  
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links">
            <asp:ListItem Value="http://www.microsoft.com">
            Microsoft
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
            MSN
            </asp:ListItem>
            <asp:ListItem Value="http://www.contoso.com">
            Contoso Corp.
            </asp:ListItem>
          </asp:BulletedList>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Delete Calendar" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Add Calendar" 
        OnClick="Button2_Click" />
    </div>
    </form>
</body>
</html>

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0
Anzeigen: