共用方式為


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 

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

另請參閱

適用於