Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
El control Wizard de ASP.NET simplifica muchas de las tareas asociadas a la creación de formularios y la recolección de datos proporcionados por el usuario. En este tutorial, utilizará el control Wizard para crear un formulario que recopila la información de dirección de un usuario, le permite solicitar o rechazar las actualizaciones por correo electrónico y le vuelve a presentar los datos y las opciones en un paso final de confirmación. Las tareas ilustradas en este tutorial incluyen:
Editar el diseño de un paso del asistente.
Agregar un paso personalizado al asistente.
Capturar mediante programación un evento del asistente.
Ramificar el asistente en función de las opciones del usuario.
Mostrar los datos del usuario en un paso de finalización.
Requisitos previos
Para poder completar este tutorial, necesitará:
Microsoft Visual Web Developer.
.NET Framework.
Crear el sitio Web
Si ya ha creado un sitio Web en Visual Web Developer (por ejemplo, siguiendo los pasos descritos en Tutorial: Crear una página Web básica en Visual Web Developer), puede usar ese sitio Web y pasar a la sección "Agregar un control Wizard a la página", que se encuentra más adelante en este tutorial. De lo contrario, cree un sitio y una página Web nuevos siguiendo estos pasos.
Para crear un sitio Web de sistema de archivos
Abra Visual Web Developer.
En el menú Archivo, haga clic en Nuevositio Web.
Aparece el cuadro de diálogo Nuevo sitio Web.
En Plantillas instaladas de Visual Studio, haga clic en Sitio Web ASP.NET.
En el cuadro Ubicación, escriba el nombre de la carpeta en la que desea guardar las páginas de su sitio Web.
Por ejemplo, escriba el nombre de carpeta C:\WebSites.
En la lista Lenguaje, haga clic en el lenguaje de programación con el que prefiera trabajar.
Haga clic en Aceptar.
Visual Web Developer crea la carpeta y una nueva página denominada Default.aspx.
Agregar un control Wizard a la página
Para agregar un control Wizard a la página
Cambie a la vista Diseño.
Desde el grupo Estándar del Cuadro de herramientas, arrastre un control Wizard hasta la página.
Recopilar la información de nombre y dirección
A continuación, configurará cada paso del asistente para recopilar los datos del usuario, solicitar una dirección de correo electrónico y mostrar los datos recopilados en el paso de finalización.
En primer lugar, recopile el nombre, la dirección, la ciudad, el estado y el código postal del usuario.
Para configurar el primer paso
Arrastre uno de los identificadores situados en el borde del control Wizard para ampliar el control a aproximadamente el doble de su tamaño predeterminado.
Haga clic en el texto subrayado Paso 1 del control Wizard y, a continuación, haga clic en el área de edición situada a la derecha de Paso 1, en el control Wizard.
Ahora puede editar el área de presentación para el paso 1.
Escriba Name.
Desde el grupo Estándar del Cuadro de herramientas, arrastre un control TextBox junto al texto.
En la ventana Propiedades, cambie ID del control TextBox de TextBox1 a Name.
Repita el proceso, agregando títulos y controles TextBox (recuerde asignar un nombre a los controles, porque necesitará hacer referencia a ellos más tarde) para recopilar:
Address
City
State
PostalCode
Guarde el archivo.
Agregar una opción de actualización por correo electrónico
En esta parte del tutorial, permitirá al usuario elegir si desea recibir actualizaciones por correo electrónico.
Para agregar una opción de actualización por correo electrónico
Haga clic en Paso 2.
Haga clic en el área modificable situada a la derecha de Paso 2 y escriba Would you like to receive e-mail updates?.
Bajo la pregunta, escriba: Yes.
Desde el grupo Estándar del Cuadro de herramientas, arrastre un control RadioButton junto a la palabra Yes.
Escriba No.
Arrastre otro RadioButton desde el Cuadro de herramientas hasta el control situado junto a la palabra No.
Agregar un paso personalizado para recopilar una dirección de correo electrónico
En esta sección, agregará al asistente un paso personalizado que recopila la dirección de correo electrónico del usuario. Después, agregará código para omitir este paso si el usuario decide no recibir actualizaciones por correo electrónico.
Agregar un paso personalizado para recopilar el correo electrónico del usuario
Haga clic con el botón secundario en el control Wizard fuera de las áreas de edición y haga clic en Mostrar etiqueta inteligente.
En el cuadro de diálogo Tareas del asistente, elija Agregar o quitar pasos del asistente.
Aparecerá el Editor de la colección WizardStep.
En la lista desplegable Agregar del botón Agregar, haga clic en Paso del asistente.
Haga clic en Aceptar.
El control Wizard muestra el nuevo paso.
Haga clic en el nuevo paso para cambiarlo al modo de edición.
En el área modificable, escriba E-mail address.
Desde el grupo Estándar del Cuadro de herramientas, arrastre un control TextBox hasta el control situado junto a las palabras E-mail Address.
En Propiedades, cambie el Id. del control TextBox a EmailAddress, ya que necesitará hacer referencia a él en el código más tarde.
Agregar un paso de finalización
Ahora puede agregar un paso de finalización que presentará los datos de nuevo al usuario.
Para agregar un paso de finalización
Haga clic con el botón secundario en el control Wizard y, a continuación, haga clic en Mostrar etiqueta inteligente.
En el menú Tareas del asistente del control, elija Agregar o quitar pasos del asistente.
Aparecerá el Editor de la colección WizardStep.
En la lista Agregar, haga clic en Paso del asistente.
El área Propiedades muestra los atributos del nuevo paso.
En la ventana Propiedades, establezca la propiedad StepType en Complete.
Haga clic en Aceptar.
El control Wizard agrega el nuevo paso.
Haga clic en el nuevo paso del control y, a continuación, haga clic en el área modificable situada a la derecha del nuevo paso.
Desde el grupo Estándar del Cuadro de herramientas, arrastre un control Label hasta el nuevo paso.
Presione ENTRAR para crear una nueva línea.
Repita el paso 7 cinco veces más, para agregar un total de seis controles Label que corresponden a:
Nombre
Dirección
Ciudad
Región o estado
Código postal
Dirección de correo electrónico
Guarde el archivo.
Antes de ejecutar el asistente, debe rellenar las etiquetas del paso de finalización con los valores que el usuario suministró en los tres primeros pasos del asistente.
Agregar código para el paso de finalización
En este tutorial, el paso de finalización muestra los datos del usuario. Para garantizar que se muestran los datos, las etiquetas del paso se rellenan mediante programación. Para mostrar los datos, debe escribir código para el evento Load de la página.
Para agregar código
Cambie a Default.aspx y, en la vista Diseño, haga doble clic en la superficie de diseño.
El editor de código se abre para la página y crea un esquema del método Page_Load.
Agregue el código resaltado siguiente para rellenar el paso de finalización.
Private Sub Page_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load Label1.Text = Name.Text Label2.Text = Address.Text Label3.Text = City.Text Label4.Text = State.Text Label5.Text = PostalCode.Text Label6.Text = EmailAddress.Text End Subvoid Page_Load(object sender, EventArgs e) { Label1.Text = Name.Text; Label2.Text = Address.Text; Label3.Text = City.Text; Label4.Text = State.Text; Label5.Text = PostalCode.Text; Label6.Text = EmailAddress.Text; }Guarde el archivo.
Probar el control Wizard
Para probar el control Wizard
Visualice Default.aspx en la vista Diseño.
Abra el menú Tareas del asistente del control y seleccione Paso 1 en la lista desplegable Paso.
Presione CTRL+F5 para ejecutar la página.
Nota:Al ejecutar la página desde la vista Diseño, es posible que el explorador se inicie en el paso activo del asistente, que no es necesariamente el primer paso. Asegúrese de que la propiedad ActiveStepIndex del asistente se ha establecido en 0 en la ventana Propiedades antes de iniciar la página.
Escriba la información de nombre y dirección.
Haga clic en Siguiente.
Seleccione cualquiera de las opciones del correo electrónico.
Más adelante en el tutorial, escribirá código para controlar la opción de correo electrónico.
Escriba una dirección de correo electrónico.
Haga clic en Finalizar.
Los datos especificados se muestran en la página.
En la siguiente sección, agregará el código necesario para omitir el tercer paso de recopilación del correo electrónico si el usuario decide no proporcionar una dirección de correo electrónico.
Agregar código para omitir el paso de correo electrónico
Ahora que las partes de recolección de datos y diseño del asistente se han completado, agregará la lógica que permite al usuario omitir el paso que recopila la dirección de correo electrónico si no desea recibir actualizaciones por correo electrónico. Esto se consigue controlando el evento NextButtonClick del control Wizard. Cuando se controla el evento, se comprueba primero si el asistente está actualmente en el paso en el que el usuario realiza una elección. En ese caso, compruebe qué control RadioButton está seleccionado. Si el usuario ha seleccionado No, avance la propiedad ActiveStepIndex del control Wizard para omitir el paso del asistente que solicita la dirección de correo electrónico del usuario.
Para agregar código para omitir el tercer paso
Haga clic en el control Wizard. En la ventana Propiedades, escriba Wizard1_NextButtonClick para la propiedad NextButtonClick y presione ENTRAR.
La ventana del editor de código se abre con la página de código subyacente.
Agregue el siguiente código resaltado que busca el paso correcto, determina qué control RadioButton está seleccionado y especifica si se debe omitir el paso 3 del asistente.
Private Sub Wizard1_NextButtonClick( ByVal sender As Object, _ ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) _ Handles Wizard1.NextButtonClick If Wizard1.ActiveStepIndex = 1 Then If RadioButton1.Checked Then ' Collect e-mail address. Wizard1.ActiveStepIndex = 2 Else Wizard1.ActiveStepIndex = 3 End If End If End Subvoid Wizard1_NextButtonClick(object sender, System.Web.UI.WebControls.WizardNavigationEventArgs e) { if (Wizard1.ActiveStepIndex == 1) { if (RadioButton1.Checked) // Collect ee-mail address. { Wizard1.ActiveStepIndex = 2; } else { Wizard1.ActiveStepIndex = 3; } } }Establecer la propiedad ActiveStepIndex hace que el asistente vaya directamente al paso especificado.
Guarde el archivo.
Probar la capacidad de omitir un paso
Para probar la omisión de un paso del asistente mediante programación
Visualice Default.aspx en la vista Diseño.
Abra el menú Tareas del asistente del control y seleccione Paso 1 en la lista desplegable Paso.
Presione CTRL+F5 para ejecutar la página.
Escriba la información de nombre y dirección.
Haga clic en Siguiente.
En Paso 2, active la casilla No.
Haga clic en Siguiente.
Llega al paso de finalización.
Utilice el botón Atrás del explorador para volver al primer paso o cierre el explorador y presione CTRL+F5 para ejecutar de nuevo la página.
Escriba la información de nombre y dirección en el primer paso.
Haga clic en Siguiente.
En Paso 2, active la casilla Yes.
Haga clic en Siguiente.
Llega al paso de recopilación de la dirección de correo electrónico.
Escriba una dirección de correo electrónico.
Haga clic en Siguiente.
Llega al paso de finalización.
Pasos siguientes
El control Wizard simplifica la creación de formularios para recopilar los datos del usuario. Además de la información proporcionada aquí, puede tener otras preguntas relativas a los formularios y a la aplicación de un aspecto y un funcionamiento diferentes al control Wizard. Por ejemplo, podría:
Reemplazar las etiquetas de texto predeterminadas del control Wizard. Para obtener información detallada, vea Información general sobre Wizard (Control de servidor Web).
Validar las entradas del usuario en el control Wizard. Para obtener información detallada, vea Tutorial: Validar los datos introducidos por el usuario en una página de formularios Web Forms.
Obtener más información sobre el uso básico del control Wizard. Para obtener información detallada, vea Tutorial: Crear un control ASP.NET Wizard básico.