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

WebPartManager.WebParts-Eigenschaft

Aktualisiert: November 2007

Ruft einen Verweis auf alle vom WebPartManager-Steuerelement auf einer Webseite nachverfolgten WebPart-Steuerelemente ab.

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

[BrowsableAttribute(false)]
public WebPartCollection WebParts { get; }
/** @property */
/** @attribute BrowsableAttribute(false) */
public WebPartCollection get_WebParts()

public function get WebParts () : WebPartCollection

Eigenschaftenwert

Typ: System.Web.UI.WebControls.WebParts.WebPartCollection
Eine WebPartCollection, die Verweise auf einen Satz von WebPart-Steuerelementen enthält.

Die WebParts-Eigenschaft wird vom WebPartManager-Steuerelement zur Nachverfolgung aller WebPart-Steuerelemente in WebPartZoneBase-Zonen auf der Seite verwendet. Die Auflistung ist zwar schreibgeschützt, Sie können jedoch über die Auflistung auf einzelne WebPart-Steuerelemente zugreifen und programmgesteuert Änderungen an ihnen vornehmen.

h8dcy47h.alert_note(de-de,VS.90).gifHinweis:

Sie können ein WebPart-Steuerelement auf einer Seite außerhalb einer WebPartZone-Zone platzieren. Auf diese Weise wird das Steuerelement nicht vom WebPartManager-Steuerelement nachverfolgt, und die WebParts-Auflistung verweist nicht darauf. Es macht aber wenig Sinn, ein WebPart-Steuerelement außerhalb einer Zone zu verwenden, da es dann alle Webparts-Funktionen einbüßt und als normales Serversteuerelement funktioniert.

Jeder Steuerelementtyp, der in einer Zone platziert werden kann (ein benutzerdefiniertes WebPart-Steuerelement, ein ASP.NET-Standardsteuerelement, ein Benutzersteuerelement oder ein benutzerdefiniertes Serversteuerelement), kann zur Laufzeit als WebPart-Steuerelement behandelt werden. Wenn ein Steuerelement, das kein WebPart-Steuerelement ist, in einer WebPartZone-Zone platziert wird, schließt ASP.NET das Steuerelement zur Laufzeit mit einem GenericWebPart-Objekt in einen Wrapper ein, sodass das Steuerelement als echtes WebPart-Steuerelement fungieren kann. Daher kann das WebPartManager-Steuerelement mit der WebParts-Eigenschaft jeden Typ von Serversteuerelement nachverfolgen, unabhängig davon, ob es aus der WebPart-Klasse abgeleitet wird.

Im folgenden Codebeispiel wird veranschaulicht, wie mit der WebParts-Eigenschaft programmgesteuert auf einzelne WebPart-Steuerelemente zugegriffen wird. Im deklarativen Markup für die Webseite gibt es innerhalb des <asp:webpartzone>-Elements zwei ASP.NET-Standard-Serversteuerelemente. Obwohl diese nicht von der WebPart-Klasse erben, weil sie sich in einer Zone befinden, werden sie zur Laufzeit mit einem GenericWebPart-Objekt in einen Wrapper eingeschlossen und somit in die Auflistung aufgenommen, auf die die WebParts-Eigenschaft verweist. Sie können in dieser Zone auch benutzerdefinierte WebPart-Steuerelemente, Benutzersteuerelemente oder benutzerdefinierte Serversteuerelemente hinzufügen. Auch diese werden auf dieselbe Weise behandelt.

<%@ 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 = "WebPart count:  " +
      WebPartManager1.WebParts.Count.ToString();
  }

  protected void Button2_Click(object sender, EventArgs e)
  {
    WebPartManager1.WebParts["Calendar1"].ChromeType = 
      PartChromeType.BorderOnly;
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <!-- Reference the WebPartManager control. -->
    <asp:WebPartManager ID="WebPartManager1" runat="server" />    
    <div>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links"
            ExportMode="All">
            <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>
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <hr />
      <asp:Button ID="Button1" runat="server" 
        Text="WebPart Count" 
        OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Hide Calendar Title" 
        OnClick="Button2_Click" />  
      <br />
      <asp:Label ID="Label1" runat="server" text="" />
    </div>
    </form>
</body>
</html>


Damit das Codebeispiel funktioniert, müssen Sie der Datei Web.config eine Einstellung hinzufügen, um den Export von Webparts-Beschreibungsdateien zu aktivieren. Stellen Sie sicher, dass sich im Verzeichnis für die Webseite dieses Codebeispiels auch eine Datei Web.config befindet. Vergewissern Sie sich, dass im <system.web>-Abschnitt wie im folgenden Markup ein <webParts>-Element mit einem auf true festgelegten enableExport-Attribut vorhanden ist.

<webParts enableExport="true">

...

</webParts>

Wenn Sie nach dem Laden der Seite in einem Browser auf die Schaltfläche WebPart Count klicken, gibt der Code mithilfe der WebParts-Eigenschaft die Anzahl der Steuerelemente in der Auflistung zurück. Wenn Sie auf die Schaltfläche Hide Calendar Title klicken, wird die Darstellung des Kalenders geändert, sodass er nur mit einem Rahmen und ohne Titel wiedergegeben wird.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0
Anzeigen: