WebPartManager.CatalogDisplayMode Campo

Definición

Representa el modo de presentación utilizado para agregar controles de servidor de un catálogo de controles a una página Web.Represents the display mode used for adding server controls from a catalog of controls to a Web page. Este campo es de solo lectura.This field is read-only.

public: static initonly System::Web::UI::WebControls::WebParts::WebPartDisplayMode ^ CatalogDisplayMode;
public static readonly System.Web.UI.WebControls.WebParts.WebPartDisplayMode CatalogDisplayMode;
 staticval mutable CatalogDisplayMode : System.Web.UI.WebControls.WebParts.WebPartDisplayMode
Public Shared ReadOnly CatalogDisplayMode As WebPartDisplayMode 

Valor de campo

WebPartDisplayMode

Ejemplos

En el ejemplo de código siguiente se muestra cómo trabajar con el CatalogDisplayMode campo mediante programación.The following code example demonstrates how to work with the CatalogDisplayMode field programmatically. El código rellena una lista desplegable con los modos de presentación admitidos para la página, que en este caso son exploración, diseño y catálogo.The code populates a drop-down list with the supported display modes for the page, which in this case are browse, design, and catalog. El modo de catálogo está disponible debido al <asp:CatalogZone> elemento y sus elementos secundarios en la Página Web.The catalog mode is available because of the <asp:CatalogZone> element and its child elements in the Web page. Observe que, en el Page_PreRender método, el código comprueba si la DisplayMode propiedad actual está establecida en CatalogDisplayMode .Notice that, in the Page_PreRender method, the code checks whether the current DisplayMode property is set to CatalogDisplayMode. Si es así, será Label1 visible y, si no, se Label1 ocultará.If so, Label1 will be visible, and if not, Label1 will be hidden.

<%@ 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;
  }

  protected void Page_PreRender(object sender, EventArgs e)
  {
    if (mgr.DisplayMode == WebPartManager.CatalogDisplayMode)
      Label1.Visible = true;
    else
      Label1.Visible = false;
  }
  
</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: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:WebPartZone ID="WebPartZone2" runat="server" />
      <asp:CatalogZone ID="CatalogZone1" runat="server">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart 
            ID="DeclarativeCatalogPart1" 
            runat="server">
            <WebPartsTemplate>
              <asp:Calendar ID="Calendar1" runat="server" 
                Title="My Calendar" />             
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart>
        </ZoneTemplate>
      </asp:CatalogZone>
      <hr />
      <asp:Label ID="Label1" runat="server" 
        Text="Currently in Catalog Mode" 
        Font-Bold="true"
        Font-Size="125%" />
      <br />
      <asp:DropDownList ID="DisplayModeDropdown" 
        runat="server" 
        AutoPostBack="true"
        Width="120"
        OnSelectedIndexChanged=
        "DisplayModeDropdown_SelectedIndexChanged">
      </asp:DropDownList>
    </div>
    </form>
</body>
</html>
<%@ 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 Page_Init(ByVal sender As Object, _
    ByVal e As EventArgs)
    Dim mode As WebPartDisplayMode
    For Each mode In mgr.SupportedDisplayModes
      Dim modeName As String = mode.Name
      If mode.IsEnabled(mgr) Then
        Dim item As ListItem = New ListItem(modeName, modeName)
        DisplayModeDropdown.Items.Add(item)
      End If
    Next
    
  End Sub

  Protected Sub DisplayModeDropdown_SelectedIndexChanged(ByVal _
    sender As Object, ByVal e As EventArgs)
    Dim selectedMode As String = _
      DisplayModeDropdown.SelectedValue
    Dim mode As WebPartDisplayMode = _
      mgr.SupportedDisplayModes(selectedMode)
    If mode IsNot Nothing Then
      mgr.DisplayMode = mode
    End If
  End Sub
  
  Protected Sub Page_PreRender(ByVal sender As Object, _
    ByVal e As System.EventArgs)
    If mgr.DisplayMode.Equals(WebPartManager.CatalogDisplayMode) Then
      Label1.Visible = True
    Else
      Label1.Visible = False
    End If
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" 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: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:WebPartZone ID="WebPartZone2" runat="server" />
      <asp:CatalogZone ID="CatalogZone1" runat="server">
        <ZoneTemplate>
          <asp:DeclarativeCatalogPart 
            ID="DeclarativeCatalogPart1" 
            runat="server">
            <WebPartsTemplate>
              <asp:Calendar ID="Calendar1" runat="server" 
                Title="My Calendar" />             
            </WebPartsTemplate>
          </asp:DeclarativeCatalogPart>
        </ZoneTemplate>
      </asp:CatalogZone>
      <hr />
      <asp:Label ID="Label1" runat="server" 
        Text="Currently in Catalog Mode" 
        Font-Bold="true"
        Font-Size="125%" />
      <br />
      <asp:DropDownList ID="DisplayModeDropdown" 
        runat="server" 
        AutoPostBack="true"
        Width="120"
        OnSelectedIndexChanged=
        "DisplayModeDropdown_SelectedIndexChanged">
      </asp:DropDownList>
    </div>
    </form>
</body>
</html>

Después de cargar la página en un explorador, está en modo de exploración de forma predeterminada.After you load the page in a browser, you are in browse mode by default. Observe que la etiqueta de la página está oculta.Notice that the label on the page is hidden. Utilice el control de lista desplegable para cambiar la página al modo de catálogo.Use the drop-down list control to switch the page to catalog mode. Observe que, debido al código del Page_PreRender método, la etiqueta ahora es visible.Notice that, because of the code in the Page_PreRender method, the label is now visible. Puede seleccionar el control en el catálogo y agregarlo a cualquiera de las dos zonas de la página.You can select the control in the catalog and add it to either of the two zones on the page.

Comentarios

El CatalogDisplayMode campo hace referencia a un WebPartDisplayMode objeto personalizado creado y incluido en el WebPartManager control.The CatalogDisplayMode field references a custom WebPartDisplayMode object that is created and contained by the WebPartManager control. Dado que se trata de un objeto estático, puede hacer referencia a él directamente a través de la WebPartManager clase sin necesidad de una instancia del control.Because this is a static object, you can refer to it directly through the WebPartManager class without needing an instance of the control.

Cuando los usuarios deseen agregar controles a una página, si hay un catálogo de controles de servidor disponible, podrán cambiar la página a CatalogDisplayMode (modo de catálogo) y aparecerá la interfaz de usuario (UI) del catálogo.When users want to add controls to a page, if a catalog of server controls is available, they can switch the page to CatalogDisplayMode (catalog mode), and the catalog user interface (UI) appears. Un control de zona proporciona la interfaz de usuario para un catálogo de elementos web CatalogZoneBase .The UI for a Web Parts catalog is provided by a CatalogZoneBase zone control. Los desarrolladores agregan esta zona a la página en tiempo de diseño y, a continuación, agregan controles de servidor a la zona para que los usuarios puedan agregar esos controles a sus páginas en tiempo de ejecución.Developers add this zone to the page at design time, and then add server controls to the zone, so that users will be able to add those controls to their pages at run time. Una vez que el desarrollador ha agregado estos controles, el modo de catálogo se convierte en un modo de presentación admitido en la página, ya que los controles necesarios están allí para habilitar el modo de catálogo.After the developer has added these controls, catalog mode becomes a supported display mode on the page because the necessary controls are there to enable catalog mode.

Cuando un usuario cambia una página al modo de catálogo, la zona y todos los controles de servidor que se agregaron a ella se vuelven visibles y el usuario puede seleccionar controles del catálogo para agregarlos a la página o quitar controles de la página.When a user switches a page to catalog mode, the zone and all the server controls that were added to it become visible, and the user can select controls from the catalog to add to the page, or remove controls from the page. Una vez que los controles se han agregado a la página, aparecen en el modo de exploración normal y la página se actualiza.After the controls have been added to the page, they appear in normal browse mode and the page is updated.

Se aplica a

Consulte también