WebPartCollection 构造函数

定义

初始化 WebPartCollection 类的新实例。

重载

WebPartCollection()

初始化 WebPartCollection 类的空的新实例。

WebPartCollection(ICollection)

通过传入 WebPartCollection 控件的 ICollection 集合来初始化 WebPart 对象的新实例。

WebPartCollection()

初始化 WebPartCollection 类的空的新实例。

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

注解

构造 WebPartCollection 函数初始化 类的 WebPartCollection 空实例。 对象本身是只读的,没有方法可向其添加单个 WebPart 控件;因此,您很少有机会使用此构造函数。

另请参阅

适用于

WebPartCollection(ICollection)

通过传入 WebPartCollection 控件的 ICollection 集合来初始化 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)

参数

webParts
ICollection

ICollection 控件的 WebPart

例外

webPartsnull

webParts 集合中的一个对象为 null

- 或 -

webParts 集合中的一个对象不是 WebPart 类型。

示例

下面的代码示例演示如何在 Web 部件页上使用 WebPartCollection 构造函数。 此示例包含三个部分:

  • 分部类中页面的代码。

  • 包含控件的网页。

  • 说明该示例在浏览器中的工作原理。

代码示例的第一部分包含分部类中页面的代码。 请注意, Button1_Click 方法创建一个 WebPartCollection 对象,该对象包含 属性中WebPartManager.WebParts引用的所有WebPart控件,其中包括页面上的所有WebPart控件。 方法循环访问所有控件,并切换每个控件的 ChromeState 属性,以确定该控件是正常控件还是最小化控件。

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

代码示例的第二部分是包含控件的网页。 请注意,中 WebPartZone1 声明的控件是标准 ASP.NET 服务器控件,但由于它们在运行时包装为 GenericWebPart 控件,并且 GenericWebPart 类继承自 WebPart 类,因此控件在运行时自动被视为 WebPart 控件,因此包含在 对象中 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>

在浏览器中加载页面后,单击“ 切换 ChromeState ”按钮,请注意分部类中的代码会循环访问 WebPartCollection 对象,并交替将控件最小化或使其恢复正常。 或者,如果反复单击“ 切换 BulletedList1 标题 ”按钮,则最上面的控件的标题将更改为备用值。

注解

构造 WebPartCollection 函数通过传入 控件集合 WebPartCollection 来初始化 类的 WebPart 实例。

WebPartCollection尽管对象是只读的,并且没有用于向其添加单个控件的方法,但你可以创建自己的ICollection控件集合,并将其传递给WebPartCollection构造函数。 这使你可以创建自定义集合并对其执行批量操作。 还可以访问集合中的基础控件,并通过编程方式更改其属性值。

另请参阅

适用于