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 空白實例。 這個建構函式的多載會由 CatalogZoneCreateCatalogParts 方法中的 類別在內部使用,以建立空的集合物件。 然後,區域會建立子領域範本中宣告之所有 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 

當您在瀏覽器中載入頁面時,您可以在 [顯示模式] 下拉式清單控制項中選取 [目錄],將頁面切換為目錄模式。 按一下 [ 顯示目錄元件屬性 ] 按鈕即可存取物件, 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

另請參閱

適用於