DeclarativeCatalogPart Web Server Control Declarative Syntax

Enables developers to add a catalog of WebPart or other server controls to a Web page in the declarative, page persistence format.

<asp:DeclarativeCatalogPart
    AccessKey="string"
    BackColor="color name|#dddddd"
    BackImageUrl="uri"
    BorderColor="color name|#dddddd"
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
                 Inset|Outset"
    BorderWidth="size"
    ChromeState="Normal|Minimized"
    ChromeType="Default|TitleAndBorder|None|TitleOnly|BorderOnly"
    CssClass="string"
    DefaultButton="string"
    Description="string"
    Direction="NotSet|LeftToRight|RightToLeft"
    Enabled="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    Font-Bold="True|False"
    Font-Italic="True|False"
    Font-Names="string"
    Font-Overline="True|False"
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
               Large|X-Large|XX-Large"
    Font-Strikeout="True|False"
    Font-Underline="True|False"
    ForeColor="color name|#dddddd"
    GroupingText="string"
    Height="size"
    HorizontalAlign="NotSet|Left|Center|Right|Justify"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    ScrollBars="None|Horizontal|Vertical|Both|Auto"
    SkinID="string"
    Style="string"
    TabIndex="integer"
    Title="string"
    ToolTip="string"
    Visible="True|False"
    WebPartsListUserControlPath="uri"
    Width="size"
    Wrap="True|False"
>
        <WebPartsTemplate>
            <!-- child controls -->
        </WebPartsTemplate>
</asp:DeclarativeCatalogPart>

Remarks

The DeclarativeCatalogPart control provides a way for developers to add a set of server controls declaratively to a catalog on a Web page. A catalog, in the Web Parts control set, is a list of WebPart or other server controls that is visible when a page is in catalog-display mode. A user can select controls from the list and add them to the Web page, which effectively gives users the ability to change the set of controls and the functionality on a page.

For more information on the DeclarativeCatalogPart and Web Parts controls, see ASP.NET Web Parts Controls.

Example

The following code example demonstrates using the DeclarativeCatalogPart control. The Web page allows a user to add a Calendar or CreateUserWizard control to a Web Parts zone.

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        mgr1.DisplayMode = WebPartManager.BrowseDisplayMode
    End Sub 

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        mgr1.DisplayMode = WebPartManager.CatalogDisplayMode
    End Sub 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        Label1.Text = "Scope is: " _
   + mgr1.Personalization.Scope.ToString()
    End Sub
</script>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
    <title>Web Parts Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr1" runat="server">
        <Personalization InitialScope="Shared" Enabled="True" />
      </asp:WebPartManager>

      <asp:WebPartZone ID="WebPartZone1" runat="server" 
        EmptyZoneText="No parts to show.">
        <ZoneTemplate>
        </ZoneTemplate>
        <CloseVerb Text="Close This Part" />
        <MinimizeVerb Text="Minimize This Part" />
        <EditVerb Text="Edit This Part" />
      </asp:WebPartZone>

      <asp:CatalogZone ID="CatalogZone1" runat="server" >
        <ZoneTemplate>
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
            runat="server">
            <WebPartsTemplate>
              <asp:Calendar id="Calendar1" runat="server" /> 
              <asp:CreateUserWizard ID="CreateUserWizard1" 
                runat="server" />
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart>
          <asp:ImportCatalogPart ID="ImportCatalogPart1" runat="server"/>
        </ZoneTemplate>
      </asp:CatalogZone>

      <hr />
      <asp:Button ID="Button1" runat="server" 
        Text="Browse Mode" OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Catalog Mode" OnClick="Button2_Click" /><br />
      <asp:Label ID="Label1" runat="server" Text="" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  protected void Button1_Click(object sender, EventArgs e)
  {
    mgr1.DisplayMode = WebPartManager.BrowseDisplayMode;
  }

  protected void Button2_Click(object sender, EventArgs e)
  {
    mgr1.DisplayMode = WebPartManager.CatalogDisplayMode;
  }

  protected void Page_Load(object sender, EventArgs e)
  {
    Label1.Text = "Scope is: "
      + mgr1.Personalization.Scope.ToString();
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
    <title>Web Parts Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr1" runat="server">
        <Personalization InitialScope="Shared" Enabled="True" />
      </asp:WebPartManager>

      <asp:WebPartZone ID="WebPartZone1" runat="server" 
        EmptyZoneText="No parts to show.">
        <ZoneTemplate>
        </ZoneTemplate>
        <CloseVerb Text="Close This Part" />
        <MinimizeVerb Text="Minimize This Part" />
        <EditVerb Text="Edit This Part" />
      </asp:WebPartZone>

      <asp:CatalogZone ID="CatalogZone1" runat="server" >
        <ZoneTemplate>
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server" />
          <asp:DeclarativeCatalogPart ID="DeclarativeCatalogPart1" 
            runat="server">
            <WebPartsTemplate>
              <asp:Calendar id="Calendar1" runat="server" /> 
              <asp:CreateUserWizard ID="CreateUserWizard1" 
                runat="server" />
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart>
          <asp:ImportCatalogPart ID="ImportCatalogPart1" runat="server"/>
        </ZoneTemplate>
      </asp:CatalogZone>

      <hr />
      <asp:Button ID="Button1" runat="server" 
        Text="Browse Mode" OnClick="Button1_Click" />
      <asp:Button ID="Button2" runat="server" 
        Text="Catalog Mode" OnClick="Button2_Click" /><br />
      <asp:Label ID="Label1" runat="server" Text="" />
    </div>
    </form>
</body>
</html>

See Also

Reference

DeclarativeCatalogPart

Other Resources

ASP.NET Web Parts Controls