WebPartCollection Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller en samling WebPart kontroller som används för att spåra och hantera relaterade grupper av kontroller. Det går inte att ärva den här klassen.
public ref class WebPartCollection sealed : System::Collections::ReadOnlyCollectionBase
public sealed class WebPartCollection : System.Collections.ReadOnlyCollectionBase
type WebPartCollection = class
inherit ReadOnlyCollectionBase
Public NotInheritable Class WebPartCollection
Inherits ReadOnlyCollectionBase
- Arv
Exempel
I följande kodexempel visas hur objektet används WebPartCollection på en webbdelssida. Det här exemplet har tre delar:
Koden för sidan i en partiell klass.
Webbsidan som innehåller kontrollerna.
En beskrivning av hur exemplet fungerar i en webbläsare.
Den första delen av kodexemplet innehåller koden för sidan i en partiell klass. Observera att Button1_Click metoden skapar ett WebPartCollection objekt som består av alla WebPart kontroller som refereras till i WebPartManager.WebParts egenskapen, som innehåller alla WebPart kontroller på sidan. Metoden itererar genom alla kontroller och växlar varje kontrolls ChromeState egenskap, vilket avgör om kontrollen är normal eller minimerad.
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
Den andra delen av kodexemplet är webbsidan som innehåller kontrollerna. Observera att de kontroller som deklareras i WebPartZone1 är standardkontroller för ASP.NET server. men eftersom de omsluts som GenericWebPart kontroller vid körning, och klassen GenericWebPart ärver från klassen WebPart, behandlas kontrollerna automatiskt som WebPart kontroller vid körning och ingår därför i objektet 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>
När du har läst in sidan i en webbläsare och klickat på knappen Växla ChromeState loopar koden i den partiella klassen igenom WebPartCollection objektet och minimerar kontrollerna alternativt eller återgår till det normala. Om du upprepade gånger klickar på knappen Växla punktlista1 rubrik ändras rubriken för den översta kontrollen till alternativa värden.
Kommentarer
Klassen WebPartCollection är en skrivskyddad samling kontroller, som vanligtvis används av WebPartZoneBase och WebPartManager kontroller för att hantera uppsättningar med WebPart kontroller.
En WebPartManager kontroll använder ett WebPartCollection objekt för att behålla en lista över alla WebPart kontroller på en sida, medan en WebPartZoneBase kontroll använder ett WebPartCollection objekt för att spåra de kontroller som den WebPart innehåller.
Note
Samlingen WebPartCollection innehåller både WebPart kontroller och andra serverkontroller (till exempel användarkontroller, anpassade kontroller och ASP.NET kontroller) som placeras i WebPartZoneBase-zoner och används som en del av webbdelsprogram. Om du till exempel har en WebPartZone zon på en sida, och inom den deklarerar du en anpassad WebPart kontroll och kontrollen ASP.NET Calendar, kommer båda kontrollerna att finnas i samlingen WebPartCollection som refereras av egenskapen WebParts.
Objektet WebPartCollection finns så att kontrolluppsättningen webbdelar kan fungera med starkt skrivna samlingar. På samma sätt kan du få en referens till ett WebPart objekt med hjälp WebPartCollection av egenskapen om du vill utföra massåtgärder på en uppsättning WebParts kontroller. Du kanske till exempel vill loopa igenom alla WebPart kontroller på en sida och ändra deras utseende på något sätt. Även om objektet WebPartCollection är skrivskyddat kan du göra programmatiska ändringar i egenskaperna för de underliggande kontroller som refereras i samlingen.
Konstruktorer
| Name | Description |
|---|---|
| WebPartCollection() |
Initierar en tom ny instans av WebPartCollection klassen. |
| WebPartCollection(ICollection) |
Initierar en ny instans av ett WebPartCollection objekt genom att skicka in en ICollection samling WebPart kontroller. |
Egenskaper
| Name | Description |
|---|---|
| Count |
Hämtar antalet element som finns i instansen ReadOnlyCollectionBase . (Ärvd från ReadOnlyCollectionBase) |
| InnerList |
Hämtar listan över element som finns i instansen ReadOnlyCollectionBase . (Ärvd från ReadOnlyCollectionBase) |
| Item[Int32] |
Returnerar en medlem i samlingen baserat på dess position i samlingen. |
| Item[String] |
Returnerar en medlem i samlingen baserat på en unik strängidentifierare. |
Metoder
| Name | Description |
|---|---|
| Contains(WebPart) |
Returnerar ett värde som anger om det finns en viss kontroll i samlingen. |
| CopyTo(WebPart[], Int32) |
Kopierar samlingen till en matris med WebPart objekt. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetEnumerator() |
Returnerar en uppräkning som itererar genom instansen ReadOnlyCollectionBase . (Ärvd från ReadOnlyCollectionBase) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| IndexOf(WebPart) |
Returnerar positionen för en viss medlem i samlingen. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Kopierar hela ReadOnlyCollectionBase till en kompatibel endimensionell Array, med början vid det angivna indexet för målmatrisen. (Ärvd från ReadOnlyCollectionBase) |
| ICollection.IsSynchronized |
Hämtar ett värde som anger om åtkomsten till ett ReadOnlyCollectionBase objekt synkroniseras (trådsäker). (Ärvd från ReadOnlyCollectionBase) |
| ICollection.SyncRoot |
Hämtar ett objekt som kan användas för att synkronisera åtkomst till ett ReadOnlyCollectionBase objekt. (Ärvd från ReadOnlyCollectionBase) |
Tilläggsmetoder
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Möjliggör parallellisering av en fråga. |
| AsQueryable(IEnumerable) |
Konverterar en IEnumerable till en IQueryable. |
| Cast<TResult>(IEnumerable) |
Omvandlar elementen i en IEnumerable till den angivna typen. |
| OfType<TResult>(IEnumerable) |
Filtrerar elementen i en IEnumerable baserat på en angiven typ. |