Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

WebPartManager.CatalogDisplayMode, champ

Représente le mode d'affichage utilisé pour l'ajout de contrôles serveur à une page Web à partir d'un catalogue de contrôles. Ce champ est en lecture seule.

Espace de noms :  System.Web.UI.WebControls.WebParts
Assembly :  System.Web (dans System.Web.dll)

public static readonly WebPartDisplayMode CatalogDisplayMode

Le champ CatalogDisplayMode fait référence à un objet WebPartDisplayMode personnalisé créé par et contenu dans le contrôle WebPartManager. Compte tenu qu'il s'agit d'un objet statique, vous pouvez y faire référence directement via la classe WebPartManager sans qu'une instance du contrôle ne soit nécessaire.

Lorsque les utilisateurs souhaitent ajouter des contrôles à une page, si un catalogue de contrôles serveur est disponible, ils peuvent faire basculer la page en CatalogDisplayMode (mode catalogue), et l'interface utilisateur de catalogue apparaît. L'interface utilisateur pour un catalogue WebPart est fournie par un contrôle de zone CatalogZoneBase. Les développeurs ajoutent cette zone à la page au moment du design, puis ajoutent des contrôles serveur à la zone, afin que les utilisateurs puissent ajouter ces contrôles à leurs pages au moment de l'exécution. Après que le développeur a ajouté ces contrôles, le mode catalogue devient un mode d'affichage pris en charge sur la page étant donné que les contrôles nécessaires y servent à activer le mode catalogue.

Lorsqu'un utilisateur fait basculer une page en mode catalogue, la zone et tous les contrôles serveur qui lui ont été ajoutés deviennent visibles et l'utilisateur peut sélectionner des contrôles du catalogue à ajouter à la page ou supprimer des contrôles de la page. Après que les contrôles ont été ajoutés à la page, ils apparaissent en mode de navigation normal et la page est mise à jour.

L'exemple de code suivant illustre l'utilisation du champ CatalogDisplayMode par programme. Le code remplit une liste déroulante avec les modes d'affichage pris en charge pour la page, qui sont, dans le cas présent, les modes navigation, design et catalogue. Le mode catalogue est disponible car l'élément <asp:CatalogZone> et ses éléments enfants se trouvent dans la page Web. Notez que, dans la méthode Page_PreRender, le code vérifie si la propriété DisplayMode actuelle a la valeur CatalogDisplayMode. Si tel est le cas, Label1 sera visible ; sinon, Label1 sera caché.


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


Après avoir chargé la page dans un navigateur, vous êtes en mode de navigation par défaut. Notez que l'étiquette sur la page est cachée. Utilisez le contrôle de liste déroulante pour faire basculer la page en mode catalogue. Notez que, du fait de la présence du code dans la méthode Page_PreRender, l'étiquette est à présent visible. Vous pouvez sélectionner le contrôle dans le catalogue et l'ajouter à l'une ou l'autre des deux zones sur la page.

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft