CatalogPartCollection 构造函数

定义

初始化 CatalogPartCollection 类的新实例。

重载

CatalogPartCollection()

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

CatalogPartCollection(ICollection)

通过传入 CatalogPartCollection 控件的 ICollection 集合,初始化 CatalogPart 类的新实例。

CatalogPartCollection(CatalogPartCollection, ICollection)

通过传入某个区域中现有 CatalogPartCollection 控件的 ICollection 集合以及其他控件集合,初始化 CatalogPart 类的新实例。

注解

CatalogZoneBase包含CatalogPart控件的区域通常是通过CreateCatalogParts方法创建CatalogPartCollection对象的控件。 但是,还可以为其他编程目的创建自己的 CatalogPartCollection 对象。

CatalogPartCollection()

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

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

注解

构造 CatalogPartCollection 函数初始化类的 CatalogPartCollection 空实例。 此构造函数的重载由 CatalogZone 其方法中的类在内部 CreateCatalogParts 用于创建空集合对象。 然后,区域创建子区域模板中声明的所有 CatalogPart 控件的实例,并使用集合的内部方法添加它们。

不能使用此构造函数重 CatalogPartCollection 载创建控件的新实例 CatalogPartCollection 并将其添加到 CatalogPart 其中。 必须改用 CatalogPartCollection 构造函数的另一个重载。

另请参阅

适用于

CatalogPartCollection(ICollection)

通过传入 CatalogPartCollection 控件的 ICollection 集合,初始化 CatalogPart 类的新实例。

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

参数

catalogParts
ICollection

ICollection 控件的 CatalogPart

示例

下面的代码示例演示如何创建自定义 CatalogPartCollection,并执行批处理操作以更改集合中的单个 CatalogPart 控件,即使它是只读的。 有关运行示例所需的完整代码,请参阅类概述主题的示例 CatalogPartCollection 部分。

方法中的Button1_Click代码创建一个对象,将页面中的两CatalogPartArrayList控件添加到对象,然后使用构造函数创建新CatalogPartCollection对象CatalogPartCollection。 它还演示了如何对基础 CatalogPart 控件进行批处理更改,即使集合本身是只读的。 代码循环访问集合,更新 Description 每个控件的属性。

protected void Button1_Click(object sender, EventArgs e)
{
  ArrayList list = new ArrayList(2);
  list.Add(PageCatalogPart1);
  list.Add(DeclarativeCatalogPart1);
  // Pass an ICollection object to the constructor.
  CatalogPartCollection myParts = new CatalogPartCollection(list);
  foreach (CatalogPart catalog in myParts)
  {
    catalog.Description = "My " + catalog.DisplayTitle;
  }

  // Use the IndexOf property to locate a CatalogPart control.
  int PageCatalogPartIndex = myParts.IndexOf(PageCatalogPart1);
  myParts[PageCatalogPartIndex].ChromeType = PartChromeType.TitleOnly;

  // Use the Contains method to see if a CatalogPart control exists.
  if (myParts.Contains(PageCatalogPart1))
  {
    WebPart closedWebPart = null;
    WebPartDescriptionCollection descriptions = PageCatalogPart1.GetAvailableWebPartDescriptions();
    if (descriptions.Count > 0)
    {
      closedWebPart = PageCatalogPart1.GetWebPart(descriptions[0]);
      closedWebPart.AllowClose = false;
    }
  }
  
  // Use indexers to display the details of the CatalogPart controls.
  Label1.Text = String.Empty;
  Label1.Text =
    "<h3>PageCatalogPart Details</h3>" +
    "ID: " + myParts[0].ID + "<br />" +
    "Count: " + myParts[0].GetAvailableWebPartDescriptions().Count;
  Label1.Text += 
    "<h3>DeclarativeCatalogPart Details</h3>" +
    "ID: " + myParts["DeclarativeCatalogPart1"].ID + "<br />" +
    "Count: " + myParts["DeclarativeCatalogPart1"].GetAvailableWebPartDescriptions().Count;
}
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) 
    Dim list As New ArrayList(2)
    list.Add(PageCatalogPart1)
    list.Add(DeclarativeCatalogPart1)
    ' Pass an ICollection object to the constructor.
    Dim myParts As New CatalogPartCollection(list)
    Dim catalog As CatalogPart
    For Each catalog In  myParts
        catalog.Description = "My " + catalog.DisplayTitle
    Next catalog
    
    ' Use the IndexOf property to locate a CatalogPart control.
    Dim PageCatalogPartIndex As Integer = _
      myParts.IndexOf(PageCatalogPart1)
    myParts(PageCatalogPartIndex).ChromeType = PartChromeType.TitleOnly
    
    ' Use the Contains method to see if a CatalogPart control exists.
    If myParts.Contains(PageCatalogPart1) Then
        Dim closedWebPart As WebPart = Nothing
        Dim descriptions As WebPartDescriptionCollection = _
          PageCatalogPart1.GetAvailableWebPartDescriptions()
        If descriptions.Count > 0 Then
            closedWebPart = PageCatalogPart1.GetWebPart(descriptions(0))
            closedWebPart.AllowClose = False
        End If
    End If
    
    ' Use indexers to display the details of the CatalogPart controls.
    Label1.Text = String.Empty
    Label1.Text = _
      "<h3>PageCatalogPart Details</h3>" & _
      "ID: " & myParts(0).ID + "<br />" & _
      "Count: " & myParts(0).GetAvailableWebPartDescriptions().Count
    Label1.Text += _
      "<h3>DeclarativeCatalogPart Details</h3>" & _
      "ID: " & myParts("DeclarativeCatalogPart1").ID & "<br />" & _
      "Count: " & myParts("DeclarativeCatalogPart1") _
        .GetAvailableWebPartDescriptions().Count

End Sub 

在浏览器中加载页面时,可以通过在 “显示模式”下拉列表控件中选择 “目录”将页面切换到目录模式。 单击 “显示 CatalogPart 属性 ”按钮可以访问 CatalogPartCollection 对象并显示包含 CatalogPart 控件的某些属性。 此外,如果将鼠标指针放在控件边框 DeclarativeCatalogPart 内的标题文本上方,则单击按钮时,可以看到在单击按钮时添加到控件的新说明文本, (说明显示在工具提示) 中。 如果单击 “页面目录 ”链接以显示 PageCatalogPart 控件,你会发现它还具有更新的说明。

注解

构造 CatalogPartCollection 函数初始化类的 CatalogPartCollection 实例,并传入控件集合 CatalogPart 。 这是可用于创建新CatalogPartCollection对象的构造函数的CatalogPartCollection一个重载,并向其添加CatalogPart控件。

尽管构造函数创建的实例是只读的 CatalogPartCollection ,但你仍然可以以编程方式访问集合中的单个 CatalogPart 控件,并调用其属性和方法。

使用此构造函数的一个常见方案是,如果要对整个控件集 CatalogPart 执行一些批处理操作,例如更改相关项组的内容、外观或位置。

另请参阅

适用于

CatalogPartCollection(CatalogPartCollection, ICollection)

通过传入某个区域中现有 CatalogPartCollection 控件的 ICollection 集合以及其他控件集合,初始化 CatalogPart 类的新实例。

public:
 CatalogPartCollection(System::Web::UI::WebControls::WebParts::CatalogPartCollection ^ existingCatalogParts, System::Collections::ICollection ^ catalogParts);
public CatalogPartCollection (System.Web.UI.WebControls.WebParts.CatalogPartCollection existingCatalogParts, System.Collections.ICollection catalogParts);
new System.Web.UI.WebControls.WebParts.CatalogPartCollection : System.Web.UI.WebControls.WebParts.CatalogPartCollection * System.Collections.ICollection -> System.Web.UI.WebControls.WebParts.CatalogPartCollection
Public Sub New (existingCatalogParts As CatalogPartCollection, catalogParts As ICollection)

参数

existingCatalogParts
CatalogPartCollection

某个区域中现有 ICollection 控件的一个 CatalogPart

catalogParts
ICollection

其他 ICollection 控件的一个 CatalogPart

另请参阅

适用于