WebPartManager.SupportedDisplayModes Property

 

Gets a read-only collection of all display modes that are available on a particular Web page.

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

[BrowsableAttribute(false)]
public WebPartDisplayModeCollection SupportedDisplayModes { get; }

Property Value

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

A WebPartDisplayModeCollection that contains the set of WebPartDisplayMode objects available on a specific Web page.

The SupportedDisplayModes property contains only the display modes that are actually available on a page, given the kinds of zone controls present on the page.

System_CAPS_noteNote

Display modes can be disabled, and when a display mode is disabled, it is not added to the SupportedDisplayModes collection, even when the corresponding type of zone that supports that display mode is present on the page.

Browse mode and design mode are always supported. The display modes that can vary are the edit, catalog, and connect modes. Each of these display modes is associated with a particular type of ToolZone control. It is the presence of that specially typed zone on a Web page that causes a particular display mode to be added to the collection referenced by the SupportedDisplayModes property. For example, if a Web page contains an EditorZone zone but not a CatalogZone zone, then the edit display mode is one of the supported modes on that page, but the catalog display mode is not supported.

System_CAPS_noteNote

The SupportedDisplayModes property differs from the DisplayModes property, which references a collection containing all the display modes that are available to the current WebPartManager control, even those that are not supported on a particular page.

The following code example shows the programmatic use of the SupportedDisplayModes property. The code uses this property to populate the list with only the display modes available in the current Web page.

There are three supported display modes on this page: browse, design, and edit. The first two are always available, and the edit mode is available in this code example because the page contains an EditorZone control. The catalog and connect display modes are not shown, because their corresponding zones are not on this page.

<%@ 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 Page_Init(object sender, EventArgs e)
  {
    foreach (WebPartDisplayMode mode in mgr.SupportedDisplayModes)
    {
      string modeName = mode.Name;
      if (mode.IsEnabled(mgr))
      {
        ListItem item = new ListItem(modeName, modeName);
        DisplayModeDropdown.Items.Add(item);
      }      
    }
  }

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

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server">
      </asp:WebPartManager>
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <asp:Calendar ID="Calendar1" runat="server" 
            Title="My Calendar" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:WebPartZone ID="WebPartZone2" runat="server">
        <ZoneTemplate>
          <asp:BulletedList 
            DisplayMode="HyperLink" 
            ID="BulletedList1" 
            runat="server"
            Title="My Links">
            <asp:ListItem Value="http://www.microsoft.com">
            Microsoft
            </asp:ListItem>
            <asp:ListItem Value="http://www.msn.com">
            MSN
            </asp:ListItem>
            <asp:ListItem Value="http://www.contoso.com">
            Contoso Corp.
            </asp:ListItem>
          </asp:BulletedList>
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:EditorZone ID="EditorZone1" runat="server">
        <ZoneTemplate>
          <asp:AppearanceEditorPart runat="server" 
            ID="Appearance1">
          </asp:AppearanceEditorPart>
          <asp:LayoutEditorPart runat="server" ID="Layout1">
          </asp:LayoutEditorPart>
        </ZoneTemplate>
      </asp:EditorZone>
      <hr />
      <asp:DropDownList ID="DisplayModeDropdown" runat="server" 
        AutoPostBack="true"
        Width="120"
        OnSelectedIndexChanged=
        "DisplayModeDropdown_SelectedIndexChanged">
      </asp:DropDownList>
    </div>
    </form>
</body>
</html>

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.

.NET Framework
Available since 2.0
Return to top
Show: