Exporter (0) Imprimer
Développer tout

EditorZone, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Sert de contrôle principal dans le jeu de contrôles WebPart pour héberger des contrôles EditorPart sur une page Web.

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

public class EditorZone : EditorZoneBase
public class EditorZone extends EditorZoneBase
public class EditorZone extends EditorZoneBase

Dans le jeu de contrôles WebPart, une zone est un contrôle composite qui couvre une zone définie sur une page Web et qui contient des contrôles serveur. Les principales fonctions d'une zone consistent à disposer les contrôles qu'elle renferme et à leur fournir une interface utilisateur commune. Pour obtenir des informations générales sur les zones et leur utilisation dans les applications WebPart, consultez la documentation de référence pour la classe WebZone de base, ainsi que Vue d'ensemble de jeu de contrôles WebPart.

Le contrôle EditorZone est l'un des contrôles fondamentaux dans le jeu de contrôles WebPart. Une fonctionnalité clé des contrôles WebPart est que l'utilisateur final peut modifier (ou personnaliser) des pages Web en fonction de ses préférences et enregistrer ses paramètres personnalisés pour de futures sessions du navigateur. L'édition représente un aspect de la modification de pages WebPart ; les utilisateurs peuvent modifier l'apparence, la disposition, le comportement et d'autres propriétés des contrôles WebPart visibles. Plusieurs contrôles dans le jeu de contrôles WebPart fournissent les fonctionnalités d'édition, y compris le contrôle EditorZone.

Un contrôle EditorZone devient visible lorsqu'une page WebPart active le mode édition, et il met à disposition plusieurs contrôles EditorPart qui peuvent être utilisés pour personnaliser des contrôles WebPart. Le contrôle EditorZone est très semblable à son parent, la classe EditorZoneBase, à une différence près : le contrôle EditorZone fournit un modèle de zone qui est référencé dans sa propriété ZoneTemplate. Le modèle de zone permet de déclarer le contenu dans le format de persistance de la page. Les développeurs de pages peuvent placer un contrôle EditorZone dans la balise déclarative d'une page Web, ajouter un élément <zonetemplate> enfant et ajouter des références déclaratives aux contrôles EditorPart dans l'élément <zonetemplate>.

Le contrôle EditorZone possède également une méthode, CreateEditorParts, qui substitue une méthode de base dans la classe EditorZoneBase. Cette méthode permet à un contrôle EditorZone de créer le modèle de zone pour contenir les contrôles EditorPart ajoutés de façon déclarative à la zone.

RemarqueRemarque

Les boutons de l'interface utilisateur EditorZone requièrent un script côté client pour fonctionner correctement. Si les scripts sont désactivés dans le navigateur, l'utilisateur ne peut pas exécuter des actions via l'interface EditorZone.

Accessibilité

Le balisage rendu par défaut pour ce contrôle peut ne pas se conformer aux normes d'accessibilité telles que les instructions de priorité 1 d'accessibilité du contenu Web (WCAG, Web Content Accessibility Guidelines). Pour plus d'informations sur la prise en charge d'accessibilité pour ce contrôle, consultez Contrôles et accessibilité ASP.NET.

Remarques à l'attention des héritiers Pour créer une zone EditorZone personnalisée pour garantir un meilleur contrôle sur le rendu de l'interface utilisateur de modification, vous pouvez hériter directement de la classe EditorZoneBase, tant que vous ne devez pas fournir de prise en charge du modèle de zone pour que les développeurs de pages puissent ajouter de façon déclarative des contrôles EditorPart à votre zone. Dans ce cas, vous ajoutez par programme tous les contrôles EditorPart à une zone. Pour fournir une prise en charge du modèle de zone, vous devez hériter de la classe EditorZone.

L'exemple de code suivant illustre plusieurs utilisations déclaratives et par programme de la classe EditorZone. L'exemple crée une zone Éditeur personnalisée qui hérite de la classe EditorZone, et l'utilise dans une page WebPart.

L'exemple de code se compose de trois parties :

  • Contrôle utilisateur qui vous permet de modifier les modes d'affichage de la page Web.

  • Page Web qui référence le contrôle EditorZone personnalisé.

  • Explication sur le fonctionnement de l'exemple.

La première partie de cet exemple de code est le contrôle utilisateur qui permet aux utilisateurs de modifier les modes d'affichage d'une page Web. Pour plus d'informations sur les modes d'affichage et une description du code source dans ce contrôle, consultez Procédure pas à pas : modification des modes d'affichage sur une page WebPart.

<%@ control language="C#" classname="DisplayModeMenuCS"%>

<script runat="server">
  
 // Use a field to reference the current WebPartManager.
  WebPartManager _manager;

  void Page_Init(object sender, EventArgs e)
  {
    Page.InitComplete += new EventHandler(InitComplete);
  }  

  void InitComplete(object sender, System.EventArgs e)
  {
    _manager = WebPartManager.GetCurrentWebPartManager(Page);

    String browseModeName = WebPartManager.BrowseDisplayMode.Name;

    // Fill the dropdown with the names of supported display modes.
    foreach (WebPartDisplayMode mode in _manager.SupportedDisplayModes)
    {
      String modeName = mode.Name;
      // Make sure a mode is enabled before adding it.
      if (mode.IsEnabled(_manager))
      {
        ListItem item = new ListItem(modeName + " Mode", modeName);
        DisplayModeDropdown.Items.Add(item);
      }
    }

  }
 
  // Change the page to the selected display mode.
  void DisplayModeDropdown_SelectedIndexChanged(object sender, 
    EventArgs e)
  {
    String selectedMode = DisplayModeDropdown.SelectedValue;

    WebPartDisplayMode mode = _manager.SupportedDisplayModes[selectedMode];
    if (mode != null)
      _manager.DisplayMode = mode;

  }

  void Page_PreRender(object sender, EventArgs e)
  {
    DisplayModeDropdown.SelectedValue = _manager.DisplayMode.Name;
  }
  
</script>
<div>
  <asp:DropDownList ID="DisplayModeDropdown" 
    runat="server"  
    AutoPostBack="true" 
    OnSelectedIndexChanged="DisplayModeDropdown_SelectedIndexChanged" />
</div>

La seconde partie de l'exemple de code est une page Web. Près du haut de la page se trouve une directive Register destinée au contrôle utilisateur. La balise de contrôle utilisateur est déclarée dans la page avec un préfixe uc1: pour l'élément. Notez que sous l'élément <asp:WebPartZone> se trouve un élément <asp:EditorZone> qui contient plusieurs contrôles EditorPart et qui présente des balises et des propriétés configurées pour déterminer son apparence et son comportement. Il existe également plusieurs méthodes qui accèdent par programme à divers membres du contrôle EditorZone.

<%@ Page Language="C#" %>
<%@ register tagprefix="uc1" 
  tagname="DisplayModeMenuCS" 
  src="displaymodecs.ascx" %>
  
<script runat="server">

  void Button1_Click(object sender, EventArgs e)
  {
    if (EditorZone1.ApplyVerb.Enabled == true)
      EditorZone1.ApplyVerb.Enabled = false;
    else
      EditorZone1.ApplyVerb.Enabled = true;
  }

  void Button2_Click(object sender, EventArgs e)
  {
    EditorZone1.BorderWidth = 2;
    EditorZone1.BorderColor = System.Drawing.Color.DarkBlue;
  }

  void Button3_Click(object sender, EventArgs e)
  {
    Label1.Text = "<br />";
    foreach (EditorPart part in EditorZone1.EditorParts)
    {
      Label1.Text += part.ID + "<br />";
    }
  }

  void Button4_Click(object sender, EventArgs e)
  {
    EditorZone1.InstructionText = "My custom instruction text.";
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
  <title>EditorZoneBase Examples</title>
</head>
<body>
  <form id="form1" runat="server">
    <asp:WebPartManager ID="mgr" runat="server" />
    <uc1:DisplayModeMenuCS runat="server" id="displaymodemenu1" />
    <asp:WebPartZone ID="WebPartZone1" runat="server">
      <ZoneTemplate>
        <asp:BulletedList 
          ID="BulletedList1" 
          Runat="server"
          DisplayMode="HyperLink" 
          Title="Favorite Links" >
          <asp:ListItem Value="http://msdn.microsoft.com">
            MSDN
          </asp:ListItem>
          <asp:ListItem Value="http://www.asp.net">
            ASP.NET
          </asp:ListItem>
          <asp:ListItem Value="http://www.msn.com">
            MSN
          </asp:ListItem>
        </asp:BulletedList>
        <asp:Calendar ID="Calendar1" Runat="server" 
          Title="My Calendar" />
      </ZoneTemplate>
    </asp:WebPartZone>
    <asp:EditorZone ID="EditorZone1" runat="server" >
      <VerbStyle Font-Italic="true" />
      <EditUIStyle BackColor="lightgray" />
      <PartChromeStyle BorderWidth="1" />
      <LabelStyle Font-Bold="true" />
      <CancelVerb Text="Cancel Changes" />
      <ZoneTemplate>
        <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
          runat="server" />
        <asp:LayoutEditorPart ID="LayoutEditorPart1" 
          runat="server" />
      </ZoneTemplate>
    </asp:EditorZone>
    <hr />
    <asp:Button ID="Button1" runat="server" Width="200"
      Text="Enable or Disable Apply" OnClick="Button1_Click" />
    <br />
    <asp:Button ID="Button2" runat="server" Width="200"
      Text="Set Zone BorderColor" OnClick="Button2_Click" />
    <br />
    <asp:Button ID="Button3" runat="server" Width="200"
      Text="Display EditorPart Collection" OnClick="Button3_Click" />
    <asp:Label ID="Label1" runat="server" />
    <br />
    <asp:Button ID="Button4" runat="server" Width="200"
      Text="Set Instruction Text" OnClick="Button4_Click" /> 
  </form>
</body>
</html>

Lorsque vous chargez la page dans un navigateur, vous pouvez sélectionner Modifier dans la liste déroulante pour passer en mode édition. Pour afficher l'interface utilisateur de modification, vous pouvez cliquer sur le menu des verbes (la flèche vers le bas) dans la barre de titre de l'un des contrôles, puis sur Edition pour modifier le contrôle. Lorsque l'interface utilisateur de modification est visible, vous pouvez y consulter les effets des utilisations, soit déclaratives soit par programme, des membres de la classe EditorZone.

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft