Exporter (0) Imprimer
Développer tout

Wizard, classe

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

Permet la navigation et fournit une interface utilisateur pour collecter les données connexes dans plusieurs étapes.

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

[BindableAttribute(false)] 
public class Wizard : CompositeControl
/** @attribute BindableAttribute(false) */ 
public class Wizard extends CompositeControl
BindableAttribute(false) 
public class Wizard extends CompositeControl

Vous pouvez utiliser le contrôle Wizard pour :

  • Collecter les données connexes dans plusieurs étapes.

  • Fractionner une plus grande page Web utilisée pour collecter les entrées d'utilisateur dans de plus petites étapes logiques.

  • Permettre la navigation linéaire ou non linéaire tout au long des étapes.

Le contrôle Wizard est constitué des composants suivants :

  • Une collection WizardStepCollection d'étapes qui contient l'interface utilisateur pour chaque étape, comme défini par le développeur de pages.

  • Fonctions de navigation intégrées qui déterminent les boutons appropriés à afficher en fonction de la valeur StepType.

  • Zone d'en-tête qui peut être personnalisée pour afficher des informations spécifiques à l'étape où l'utilisateur se trouve.

  • Zone de barre latérale qui peut être utilisée pour naviguer rapidement vers les étapes dans le contrôle.

Chaque étape dans le contrôle Wizard a une propriété StepType qui détermine le type de fonctionnalités de navigation que l'étape possède. Si vous ne spécifiez pas de valeur pour la propriété StepType, la valeur par défaut est Auto. Le tableau suivant répertorie les paramètres disponibles pour la propriété StepType et le comportement de l'étape qui en résulte.

WizardStepType.Auto

L'interface utilisateur de navigation, restituée pour l'étape, est déterminée par l'ordre dans lequel l'étape est déclarée.

WizardStepType.Complete

L'étape est la dernière à apparaître. Aucun bouton de navigation n'est restitué.

WizardStepType.Finish

L'étape est la dernière qui collecte les données utilisateur. Le bouton Terminer est restitué pour la navigation.

WizardStepType.Start

L'étape est la première à apparaître. Le bouton Précédent n'est pas restitué.

WizardStepType.Step

L'étape est une étape entre la première et la dernière. Les boutons Précédent et Suivant sont rendus pour la navigation.

À l'aide du contrôle Wizard, les données peuvent être collectées via la navigation linéaire ou non linéaire. Certains exemples de navigation non linéaire ignorent les étapes inutiles ou retournent à une étape achevée précédemment afin de modifier des valeurs. Le contrôle Wizard conserve son état entre les étapes, par conséquent, les données entrées à une étape n'ont pas besoin d'être persistantes dans un magasin de données jusqu'à ce que toutes les étapes du contrôle Wizard soient achevées.

Si vous souhaitez rendre persistante les données collectées dans un magasin de données au moment où chaque étape est achevée, tel que lorsque l'événement NextButtonClick est déclenché, vous devez également affecter la valeur false à la propriété AllowReturn de l'objet WizardStepBase afin que l'utilisateur ne puisse pas retourner à une étape achevée précédemment ni modifier les données une fois qu'elles ont été envoyées.

Vous pouvez utiliser la méthode MoveTo ou la propriété ActiveStepIndex afin de modifier dynamiquement l'étape qui est actuellement affichée dans le contrôle Wizard.

RemarqueRemarque

Si vous ajoutez par programme un WizardStep dans le gestionnaire d'événements Page_Load, vous devez ajouter la navigation à cette étape avant le chargement de page.

L'apparence du contrôle Wizard est complètement personnalisable à l'aide des modèles, apparences et paramètres de style. Par exemple, vous pouvez utiliser les propriétés HeaderTemplate, SideBarTemplate, StartNavigationTemplate, FinishNavigationTemplate et StepNavigationTemplate pour personnaliser l'interface du contrôle Wizard.

RemarqueRemarque

La définition de la propriété FinishNavigationTemplate, DisplaySideBar, HeaderTemplate, SideBarTemplate, StartNavigationTemplate ou StepNavigationTemplate recrée les contrôles enfants du contrôle Wizard. En conséquence, l'état d'affichage des contrôles enfants est perdu dans le processus. Pour éviter cette situation, conservez explicitement l'état de contrôle des contrôles enfants du contrôle Wizard ou évitez de placer des contrôles dans les modèles.

Notez que le contrôle Wizard ne prend pas en charge le rendu spécial de Microsoft Internet Explorer pour le mode non standard ou « quirks ». Pour obtenir le meilleur rendu Internet Explorer à l'aide du contrôle Wizard, utilisez le type de document XHTML, qui est ajouté par défaut dans Visual Web Developer et Visual Studio.

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). Par exemple, utiliser CancelDestinationPageUrl ou FinishDestinationPageUrl entraîne un rafraîchissement de page contraire à la configuration d'accessibilité requise pour ne pas actualiser une lors d'un clic sur un bouton ou un lien placé sur celle-ci. Pour plus d'informations sur la prise en charge d'accessibilité pour ce contrôle, consultez Contrôles et accessibilité ASP.NET.

RubriqueEmplacement
Procédure pas à pas : création d'un contrôle Wizard ASP.NET de baseGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : utilisation avancée du contrôle Wizard ASP.NETGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser le contrôle ASP.NET CreateUserWizardGénération d'applications Web ASP.NET
Comment : personnaliser le contrôle ASP.NET CreateUserWizardGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : création d'un contrôle Wizard ASP.NET de baseGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : utilisation avancée du contrôle Wizard ASP.NETGénération d'applications Web ASP.NET dans Visual Studio
Comment : personnaliser le contrôle ASP.NET CreateUserWizardGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : création d'un contrôle Wizard ASP.NET de baseGénération d'applications Web ASP.NET dans Visual Studio
Procédure pas à pas : utilisation avancée du contrôle Wizard ASP.NETGénération d'applications Web ASP.NET dans Visual Studio

L'exemple de code suivant montre comment définir un contrôle Wizard pour collecter un nom d'utilisateur et une adresse, avec l'option permettant d'entrer une adresse de livraison séparée. Si l'utilisateur ne sélectionne pas SeparateShippingCheckBox, en publiant de cette façon une demande pour ajouter une adresse de livraison séparée, le contrôle Wizard se déplace directement de Step2 à Finish. À l'étape Finish, l'utilisateur peut retourner au début du contrôle Wizard en cliquant sur GoBackButton ; toutefois, il dirige l'utilisateur vers Step2 parce que la propriété AllowReturn de Step1 a la valeur false.

<%@ Page Language="C#" CodeFile="WizardClass.cs" Inherits="WizardClasscs_aspx" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <body>
    <form id="form1" runat="server">    
      <asp:Wizard id="Wizard1" 
        runat="server" 
        onfinishbuttonclick="OnFinishButtonClick" 
        backcolor="#EFF3FB" 
        font-names="Verdana" 
        font-size="0.8em"
        borderwidth="1px" 
        bordercolor="#B5C7DE" 
        style="font-size: medium; font-family: Verdana;" 
        onactivestepchanged="OnActiveStepChanged">       
      <StepStyle forecolor="#333333" 
        font-size="0.8em" />
        <WizardSteps>        
          <asp:WizardStep id="Step1" 
            title="One"
            allowreturn="false" 
            runat="server" >
            Welcome to the Wizard example.  This step's AllowReturn property is set 
            to false, so after you leave this step you will not be able to return to it.
          </asp:WizardStep>          
          <asp:WizardStep id="Step2"
            title="Two" 
            runat="server" >
            <!-- ... Put UI elements here ... -->
            Please enter your billing information.
            <br />
            Name:<br />
            <asp:TextBox runat="server" 
              id="BillingName" 
              width="226px" 
              height="17px" /> 
            <br />
            E-mail Address:<br />
            <asp:TextBox runat="server" 
              id="EmailAddress" 
              width="224px" 
              height="17px" />
            <br />
            Address Line 1: <br />
            <asp:TextBox runat="server" 
              id="BillingAddressLine1" 
              width="314px" 
              height="17px" />
            <br />
            Address Line 2: <br />
            <asp:TextBox runat="server" 
              id="BillingAddressLine2" 
              width="314px" 
              height="17px" />
            <br />
            City: <br />
            <asp:TextBox runat="server" 
              id="BillingCity" 
              width="155px" 
              height="17px" /> 
            <br />
            State: <br />
            <asp:TextBox runat="server" 
              id="BillingState" 
              width="75px" 
              height="17px" /> 
            <br />
            ZIP Code: <br />
            <asp:TextBox runat="server" 
              id="BillingZip" 
              height="17px" />
            <br /><br />
            <asp:CheckBox runat="server" 
              id="SeparateShippingCheckBox" 
              text="Please check here if you would like to add a separate shipping address." />
          </asp:WizardStep>          
          <asp:WizardStep id="Step3" 
            title="Three" 
            runat="server" >
            <!-- Gather the shipping address in this step if CheckBox1 was selected. -->
            Please enter your shipping information.
            <br />
                Name:<br />
                <asp:TextBox runat="server" 
                  id="ShippingName" 
                  height="17px" /> 
                <br />
                Address Line 1: <br />
                <asp:TextBox runat="server" 
                  id="ShippingAddress1" 
                  width="370px" 
                  height="17px" />
                <br />
                Address Line 2: <br />
                <asp:TextBox runat="server" 
                  id="ShippingAddress2" 
                  width="370px" 
                  height="17px" />
                <br />
                City: <br />
                <asp:TextBox runat="server" 
                  id="ShippingCity" 
                  height="17px" /> 
                <br />
                State: <br />
                <asp:TextBox runat="server" 
                  id="ShippingState" 
                  width="65px" 
                  height="17px" />
                <br /> 
                ZIP Code: <br />
                <asp:TextBox runat="server" 
                  id="ShippingZip" 
                  height="17px" />
          </asp:WizardStep>
          <asp:WizardStep id="Finish" 
            title="Finish"
            runat="server" >
            <!-- Put UI elements here for the Finish step. -->
            <asp:Button runat="server" 
              id="GoBackButton" 
              text="Go Back to Step 2" 
              onclick="OnGoBackButtonClick"
              forecolor="#284E98" 
              font-names="Verdana"
              font-size="1.0em" 
              borderstyle="Solid" 
              borderwidth="1px" 
              bordercolor="#507CD1" 
              backcolor="White" /> 
          </asp:WizardStep>          
          <asp:WizardStep runat="server" 
            steptype="Complete" 
            title="Complete" 
            id="Complete">
            <asp:Label runat="server" 
              id="CompleteMessageLabel" 
              width="408px" 
              height="24px">
            </asp:Label>
          </asp:WizardStep>
        </WizardSteps> 
        <NavigationButtonStyle forecolor="#284E98" 
          font-names="Verdana"
          font-size="1.0em" 
          borderstyle="Solid" 
          borderwidth="1px" 
          bordercolor="#507CD1" 
          backcolor="White" />
        <HeaderStyle forecolor="White" 
          horizontalalign="Center" 
          font-size="0.9em" 
          font-bold="True"
          backcolor="#284E98" 
          borderstyle="Solid" 
          bordercolor="#EFF3FB" 
          borderwidth="2px" />
        <SideBarStyle verticalalign="Top" 
          horizontalalign="Center"
          font-size="0.8em" 
          forecolor="#000099"
          backcolor="#EFF3FB"
          width="45px" />
        <HeaderTemplate>
          <b>Wizard Example</b>
        </HeaderTemplate>
      </asp:Wizard>
    </form>
  </body>
</html>

L'exemple de code suivant est le fichier code-behind de la page Web utilisé dans l'exemple précédent.

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class WizardClasscs_aspx : System.Web.UI.Page
{
    protected void OnFinishButtonClick(Object sender, WizardNavigationEventArgs e)
    {
        // The OnFinishButtonClick method is a good place to collect all
        // the data from the completed pages and persist it to the data store. 

        // For this example, write a confirmation message to the Complete page
        // of the Wizard control.
        Label tempLabel = (Label)Wizard1.FindControl("CompleteMessageLabel");
        if (tempLabel != null)
        {
            tempLabel.Text = "Your order has been placed. An e-mail confirmation will be sent to "
            + (EmailAddress.Text.Length == 0 ? "your e-mail address" : EmailAddress.Text) + ".";
        }
    }

    protected void OnGoBackButtonClick(object sender, EventArgs e)
    {
        // The GoBackButtonClick event is raised when the GoBackButton
        // is clicked on the Finish page of the Wizard.  

        // Check the value of Step1's AllowReturn property.
        if (Step1.AllowReturn)
        {
            // Return to Step1.
            Wizard1.ActiveStepIndex = Wizard1.WizardSteps.IndexOf(this.Step1);
        }
        else
        {
            // Step1 is not a valid step to return to; go to Step2 instead.
            Wizard1.ActiveStepIndex = Wizard1.WizardSteps.IndexOf(this.Step2);
            Response.Write("ActiveStep is set to Step2 because Step1 has AllowReturn set to false.");
        }
    }

    protected void OnActiveStepChanged(object sender, EventArgs e)
    {
        // If the ActiveStep is changing to Step3, check to see whether the 
        // SeparateShippingCheckBox is selected.  If it is not, skip to the
        // Finish step.
        if (Wizard1.ActiveStepIndex == Wizard1.WizardSteps.IndexOf(this.Step3))
        {
            if (this.SeparateShippingCheckBox.Checked)
            {
                Wizard1.MoveTo(this.Step3);
            }
            else
            {
                Wizard1.MoveTo(this.Finish);
            }
        }
    }
}

  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal.
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal.

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 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
Afficher:
© 2014 Microsoft