WebPartManager.DisplayModes Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets a read-only collection of all display modes that are associated with a WebPartManager control.

Namespace:   System.Web.UI.WebControls.WebParts
Assembly:  System.Web (in System.Web.dll)

public WebPartDisplayModeCollection DisplayModes { get; }

Property Value

Type: System.Web.UI.WebControls.WebParts.WebPartDisplayModeCollection

A WebPartDisplayModeCollection that contains the set of WebPartDisplayMode objects associated with the WebPartManager control.

The DisplayModes property references all associated display modes, in contrast with the SupportedDisplayModes property, which references only the display modes that are available (supported) on the current page.

Two of the provided display modes, browse and design, are always supported on a page. The other three display modes, edit, catalog, and connections, are supported only when a page has the corresponding type of zone necessary for a particular display mode to work. For example, if you page does not contain an EditorZone zone, the edit display mode would appear in the collection referenced by the DisplayModes property, but would not appear in the collection referenced by the SupportedDisplayModes property.

The following code example shows the programmatic use of the DisplayModes property. The code uses this property to populate the list with all the display modes available in the Web Parts control set, even those that are not supported on the current page. In this case, the catalog and connect display modes are not supported, because their corresponding required zones are not on the page.

The other three display modes--browse, design, and edit--are supported on the page. Edit mode is supported because the page contains an EditorZone zone, while browse and design modes are always supported.

After you load the page in a browser, you can use the drop-down list control to switch the page from browse mode to design mode, and then to edit mode. In edit mode, you can click the drop-down verbs menu in the header of one of the server controls, and select Edit to edit the control. Note that if you select Catalog or Connect in the drop-down list, an error page is generated.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<script runat="server">

  protected void Page_Init(object sender, EventArgs e)
    foreach (WebPartDisplayMode mode in mgr.DisplayModes)
      string modeName = mode.Name;
      if (mode.IsEnabled(mgr))
        ListItem item = new ListItem(modeName, modeName);

  protected void DisplayModeDropdown_SelectedIndexChanged(object 
    sender, EventArgs e)
    String selectedMode = DisplayModeDropdown.SelectedValue;
    WebPartDisplayMode mode = mgr.DisplayModes[selectedMode];
    if (mode != null)
      mgr.DisplayMode = mode;


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
    <form id="form1" runat="server">
      <asp:WebPartManager ID="mgr" runat="server">
      <asp:WebPartZone ID="WebPartZone1" runat="server">
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
      <asp:WebPartZone ID="WebPartZone2" runat="server">
            Title="My Links">
            <asp:ListItem Value="http://www.microsoft.com">
            <asp:ListItem Value="http://www.msn.com">
            <asp:ListItem Value="http://www.contoso.com">
            Contoso Corp.
      <asp:EditorZone ID="EditorZone1" runat="server">
          <asp:AppearanceEditorPart runat="server" 
          <asp:LayoutEditorPart runat="server" ID="Layout1">
      <hr />
      <asp:DropDownList ID="DisplayModeDropdown" runat="server" 

.NET Framework
Available since 2.0
Return to top