WebPartCollection Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Contém uma coleção de WebPart controlos usados para rastrear e gerir grupos relacionados de controlos. Esta classe não pode ser herdada.
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
- Herança
Exemplos
O exemplo de código seguinte demonstra a utilização do WebPartCollection objeto numa página de Web Parts. Este exemplo tem três partes:
O código da página numa classe parcial.
A página web que contém os controlos.
Uma descrição de como o exemplo funciona num navegador.
A primeira parte do exemplo de código contém o código da página numa classe parcial. Note que o Button1_Click método cria um WebPartCollection objeto que consiste em todos os WebPart controlos referenciados na WebPartManager.WebParts propriedade, que inclui todos os WebPart controlos na página. O método itera por todos os controlos e alterna a propriedade de ChromeState cada controlo, o que determina se esse controlo é normal ou minimizado.
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
A segunda parte do exemplo de código é a página Web que contém os controlos. Note que os controlos declarados em WebPartZone1 são controlos padrão ASP.NET servidor, mas como estão encapsulados como controlos GenericWebPart em tempo de execução, e a classe GenericWebPart herda da classe WebPart, os controlos são automaticamente tratados como controlos WebPart em tempo de execução e, por isso, são incluídos no objeto 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>
Depois de carregar a página num navegador e clicar no botão Toggle ChromeState , o código na classe parcial percorre o WebPartCollection objeto e alterna entre minimizar os controlos ou devolve-los ao normal. Ou, se clicar repetidamente no botão Toggle BulletedList1 Title , o título do controlo superior é alterado para valores alternativos.
Observações
A WebPartCollection classe é uma coleção de controlos em leitura sozinha, normalmente usada por WebPartZoneBase e WebPartManager controlos para gerir conjuntos de WebPart controlos.
Um WebPartManager controlo usa um WebPartCollection objeto para manter uma lista de todos os controlos WebPart numa página, enquanto um WebPartZoneBase controlo usa um WebPartCollection objeto para acompanhar os WebPart controlos que contém.
Note
A coleção WebPartCollection contém tanto controlos WebPart como outros controlos de servidor (como controlos de utilizador, controlos personalizados e controlos ASP.NET) que são colocados em zonas WebPartZoneBase e usados como parte de aplicações Web Parts. Por exemplo, se tiver uma zona WebPartZone numa página, e dentro dela declarar um controlo personalizado WebPart e o controlo ASP.NET Calendar, ambos os controlos estarão na coleção WebPartCollection referenciada pela propriedade WebParts.
O WebPartCollection objeto existe para que o conjunto de controlo Web Parts possa funcionar com coleções fortemente tipadas. De forma semelhante, se quiser realizar operações de massa num conjunto de WebPart controlos, pode obter uma referência a um WebPartCollection objeto usando a WebParts propriedade. Por exemplo, podes querer passar por todos os WebPart controlos numa página e mudar a sua aparência de alguma forma. Mesmo que o WebPartCollection objeto seja apenas de leitura, pode fazer alterações programáticas às propriedades dos controlos subjacentes referenciados na coleção.
Construtores
| Name | Description |
|---|---|
| WebPartCollection() |
Inicializa uma nova instância vazia da WebPartCollection classe. |
| WebPartCollection(ICollection) |
Inicializa uma nova instância de um WebPartCollection objeto ao passar uma ICollection coleção de WebPart controlos. |
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de elementos contidos na ReadOnlyCollectionBase instância. (Herdado de ReadOnlyCollectionBase) |
| InnerList |
Obtém a lista de elementos contidos na ReadOnlyCollectionBase instância. (Herdado de ReadOnlyCollectionBase) |
| Item[Int32] |
Retorna um membro da coleção com base na sua posição na coleção. |
| Item[String] |
Devolve um membro da coleção com base num identificador de string único. |
Métodos
| Name | Description |
|---|---|
| Contains(WebPart) |
Devolve um valor que indica se existe um determinado controlo na coleção. |
| CopyTo(WebPart[], Int32) |
Copia a coleção para um array de WebPart objetos. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Devolve um enumerador que itera pela ReadOnlyCollectionBase instância. (Herdado de ReadOnlyCollectionBase) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IndexOf(WebPart) |
Devolve a posição de um membro específico da coleção. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia a totalidade ReadOnlyCollectionBase para uma unidimensional Arraycompatível , começando no índice especificado do array alvo. (Herdado de ReadOnlyCollectionBase) |
| ICollection.IsSynchronized |
Recebe um valor que indica se o acesso a um ReadOnlyCollectionBase objeto está sincronizado (thread safe). (Herdado de ReadOnlyCollectionBase) |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso a um ReadOnlyCollectionBase objeto. (Herdado de ReadOnlyCollectionBase) |
Métodos da Extensão
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Permite a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable para um IQueryable. |
| Cast<TResult>(IEnumerable) |
Conjura os elementos de an IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base num tipo especificado. |