WebPartCollection 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 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。
例外
webParts
为 null
。
示例
下面的代码示例演示如何在 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构造函数。 这使你可以创建自定义集合并对其执行批量操作。 还可以访问集合中的基础控件,并通过编程方式更改其属性值。