Condividi tramite


WebPartCollection Costruttori

Definizione

Inizializza una nuova istanza della classe WebPartCollection.

Overload

WebPartCollection()

Inizializza una nuova istanza vuota della classe WebPartCollection.

WebPartCollection(ICollection)

Inizializza una nuova istanza di un oggetto WebPartCollection passando in un insieme ICollection di controlli WebPart.

WebPartCollection()

Inizializza una nuova istanza vuota della classe WebPartCollection.

public:
 WebPartCollection();
public WebPartCollection ();
Public Sub New ()

Commenti

Il WebPartCollection costruttore inizializza un'istanza vuota della WebPartCollection classe . L'oggetto stesso è di sola lettura e non dispone di alcun metodo per aggiungere singoli WebPart controlli. Pertanto, si avrà poco tempo per usare questo costruttore.

Vedi anche

Si applica a

WebPartCollection(ICollection)

Inizializza una nuova istanza di un oggetto WebPartCollection passando in un insieme ICollection di controlli WebPart.

public:
 WebPartCollection(System::Collections::ICollection ^ webParts);
public WebPartCollection (System.Collections.ICollection webParts);
new System.Web.UI.WebControls.WebParts.WebPartCollection : System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.WebPartCollection
Public Sub New (webParts As ICollection)

Parametri

webParts
ICollection

Insieme ICollection di controlli WebPart.

Eccezioni

webParts è null.

Il valore di un oggetto nell'insieme webParts è null.

-oppure-

Un oggetto nell'insieme webParts non è di tipo WebPart.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso del WebPartCollection costruttore in una pagina web part. Questo esempio include tre parti:

  • Codice per la pagina in una classe parziale.

  • Pagina Web che contiene i controlli.

  • Descrizione del funzionamento dell'esempio in un browser.

La prima parte dell'esempio di codice contiene il codice per la pagina in una classe parziale. Si noti che il Button1_Click metodo crea un WebPartCollection oggetto costituito da tutti i WebPart controlli a cui si fa riferimento nella WebPartManager.WebParts proprietà , che include tutti i WebPart controlli nella pagina. Il metodo esegue l'iterazione di tutti i controlli e attiva o disattiva la proprietà di ChromeState ogni controllo, che determina se tale controllo è normale o ridotto a icona.

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

public partial class webpartcollectioncs : System.Web.UI.Page
{
  protected void Button1_Click(object sender, EventArgs e)
  {

    WebPartCollection partCollection = mgr1.WebParts;

    foreach (WebPart part in partCollection)
    {
      if (part.ChromeState != PartChromeState.Minimized)
        part.ChromeState = PartChromeState.Minimized;
      else
        part.ChromeState = PartChromeState.Normal;
    }
  }
  protected void Button2_Click(object sender, EventArgs e)
  {
    WebPartCollection partCollection = WebPartZone1.WebParts;

    if (partCollection[0].Title == "My Link List")
      partCollection[0].Title = "Favorite Links";
    else
      partCollection[0].Title = "My Link List";
  }
}
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Partial Public Class webpartcollectionvb

  Inherits System.Web.UI.Page

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim partCollection As WebPartCollection = mgr1.WebParts
    Dim part As WebPart

    For Each part In partCollection
      If part.ChromeState <> PartChromeState.Minimized Then
        part.ChromeState = PartChromeState.Minimized
      Else
        part.ChromeState = PartChromeState.Normal
      End If
    Next

  End Sub

  Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim partCollection As WebPartCollection = WebPartZone1.WebParts

    If partCollection(0).Title = "My Link List" Then
      partCollection(0).Title = "Favorite Links"
    Else
      partCollection(0).Title = "My Link List"
    End If

  End Sub

End Class

La seconda parte dell'esempio di codice è la pagina Web che contiene i controlli. Si noti che i controlli dichiarati in WebPartZone1 sono controlli server ASP.NET standard, ma poiché vengono sottoposti a wrapping come GenericWebPart controlli in fase di esecuzione e la GenericWebPart classe eredita dalla WebPart classe , i controlli vengono considerati automaticamente come WebPart controlli in fase di esecuzione e pertanto vengono inclusi nell'oggetto WebPartCollection .

<%@ Page Language="C#" 
  Codefile="webpartcollection.cs" 
  Inherits="webpartcollectioncs" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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="mgr1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
          <br />
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
    </div>
    <hr />
    <asp:Button ID="Button1" runat="server" Width="200"
      Text="Toggle ChromeState" OnClick="Button1_Click" />
    <br />
    <asp:Button ID="Button2" runat="server" Width="200"
        Text="Toggle BulletedList1 Title" 
        OnClick="Button2_Click"/>
    </form>
</body>
</html>
<%@ Page Language="vb"
  Codefile="webpartcollection.vb" 
  Inherits="webpartcollectionvb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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="mgr1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            ID="BulletedList1" 
            Runat="server"
            DisplayMode="HyperLink" 
            Title="Favorite Links" >
            <asp:ListItem Value="http://msdn.microsoft.com">
              MSDN
            </asp:ListItem>
            <asp:ListItem Value="http://www.asp.net">
              ASP.NET
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
              MSN
            </asp:ListItem>
          </asp:BulletedList>
          <br />
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
    </div>
    <hr />
    <asp:Button ID="Button1" runat="server" Width="200"
      Text="Toggle ChromeState" OnClick="Button1_Click" />
    <br />
    <asp:Button ID="Button2" runat="server" Width="200"
        Text="Toggle BulletedList1 Title" 
        OnClick="Button2_Click"/>
    </form>
</body>
</html>

Dopo aver caricato la pagina in un browser, fare clic sul pulsante Toggle ChromeState e notare che il codice nella classe parziale scorre l'oggetto WebPartCollection e riduce al minimo i controlli o li restituisce normalmente. In alternativa, se si fa ripetutamente clic sul pulsante Toggle BulletedList1 Title (Titolo bulletedList1 ), il titolo del controllo superiore viene modificato in valori alternativi.

Commenti

Il WebPartCollection costruttore inizializza un'istanza della WebPartCollection classe passando una raccolta di WebPart controlli.

Anche se un WebPartCollection oggetto è di sola lettura e non esiste alcun metodo per l'aggiunta di singoli controlli, è possibile creare una raccolta di controlli personalizzata ICollection e passarla al WebPartCollection costruttore. In questo modo è possibile creare raccolte personalizzate ed eseguire operazioni bulk su di esse. È anche possibile accedere ai controlli sottostanti nella raccolta e modificare i relativi valori di proprietà a livello di codice.

Vedi anche

Si applica a