Práctica de Introducción a ASP.NET

Document Sample
Práctica de Introducción a ASP.NET Powered By Docstoc
					Práctica de Introducción a ASP.NET.
Ejercicio 1.

Creando una Aplicación ASP.NET.

1.       Abra una instancia de Visual Studio .NET.

2.      En el menú Archivo, seleccione Nuevo Proyecto, o haga clic en el botón Nuevo Proyecto si se
     encuentra la página de inicio de Visual Studio .NET.




3.       Seleccione Aplicación Web ASP.NET (ASP.NET Web Application), y asigne como nombre,
     EjCursoASPNet.




4.       Para facilitar el ordenamiento del proyecto, y evitar confusiones en el nombre de las páginas,
     comenzaremos por eliminar la página creada por defecto (WebForm1.aspx), utilizando el menú
     contextual, en el explorador de soluciones.
Definiendo una página simple.

 1.            Utilizando nuevamente el menú contextual, sobre el proyecto, agregaremos un Web
            Form, al cual denominaremos reloj (o sea, será nuestra página de acceso al sitio).




2.            Colocaremos al inicio de la página, un mensaje de saludo, el cual, será distinto
      dependiendo de la hora del día. Para ello, necesitamos un control que sea accesible desde el
      código del lado del servidor.

3.            Accediendo a la caja de Herramientas (Toolbox), para colocar sobre la página un
      control "Label".


4.            Accediendo a la ventana propiedades (F4), con ese control seleccionado, le
      asignaremos un Id específico "Saludo".




      Además, agrande el ancho del control, para que pueda contener el texto que le asignaremos
      en tiempo de ejecución, esto es, que ocupe casi todo el ancho de la página.

5.           Volviendo a la presentación Diseño (Design), si hacemos doble clic sobre la página,
      accederemos al código de la misma (el que será ejecutado del lado del servidor). Dado que
      hemos hecho doble clic sobre la página, y no sobre un control en particular, quedaremos
      ubicados de modo tal de poder codificar el evento Page_Load.


6. public class Reloj : System.Web.UI.Page{
7.     protected System.Web.UI.WebControls.Label Label1;
8.     protected System.Web.UI.WebControls.Label Label2;
9.     protected System.Web.UI.WebControls.TextBox nombre;
10.    protected System.Web.UI.WebControls.TextBox correo;
11.    protected System.Web.UI.WebControls.Button aceptar;
12.    protected System.Web.UI.WebControls.Label mensaje;
13.    protected System.Web.UI.WebControls.Label Saludo;
14.    private void Page_Load(object sender, System.EventArgs e){
15. // Introducir aquí el código de usuario para inicializar la
   página }
16.           Definiremos entonces, en el código a ser ejecutado en el evento Page_OnLoad, una
      variable de cadena de caracteres, utilizando la siguiente sentencia.

17.        string s;

18.           Accediendo a la clase base que nos permite operar con valores de fecha y hora,
      decidiremos si corresponde saludar con "Buenos días" o "Buenas tardes".

19. if (System.DateTime.Now.Hour > 12)
20.                 {s = "Buenas Tardes";}
21.          else
22.                 {s = "Buenos Días";}
23.          Finalmente, asignaremos el contenido de dicha variable, como texto del label.

24. s=s+" Usted a ingresado a nuestro sitio a las ";
25. s=s+System.DateTime.Now.ToLongTimeString();
26. Saludo.Text=s;
      27.          Para poder probar la ejecución del código, es necesario definirle al entorno de
       desarrollo, cual es la página donde deseamos que comience la ejecución. Para ello, utilizando
         el menú contextual sobre nuestra página default.aspx, en el explorador de soluciones, la
                                      asignamos como página de inicio.




28.          Pulsando F5, o haciendo clic en el botón podremos probar la página.


Agregando funcionalidad a la página.

29.            Volviendo a la presentación Diseño (Design) de nuestra página, agregaremos controles
      de Tipo Web Forms, para facilitar la tarea. Los controles estarán dispuestos de modo tal de
      permitir, por parte del usuario, de su nombre y su dirección de correo electrónico. Para ello
      utilizaremos 2 label, 2 TextBox y un Botón. Los Textbox se identificarán como "Nombre" y
      "Correo" respectivamente. El Botón con el Texto Aceptar, recibirá el mismo nombre. El diseño
      final de la página será, aproximadamente el que se muestra en la siguiente figura.




30.           Agregaremos un Label más, para poder realizar alguna tarea al aceptarse la página.
      Este label, que recibirá como id Mensaje, se colocará por debajo del botón aceptar.

31.           Haciendo doble clic sobre el botón, accederemos al código del evento clic del mismo
      (del lado del servidor). En él, simplemente, asignaremos al label mensaje, un texto indicando
      que los pedidos realizados, serán confirmados por correo electrónico a la dirección que el
      usuario haya ingresado. El código final sería:

32. private void aceptar_Click(object sender, System.EventArgs e){
33.    mensaje.Text = nombre.Text;
34.    mensaje.Text+=": Recuerde... sus pedidos serán confirmados a
   " ;
35.    mensaje.Text +=     correo.Text;
36. }
37.          Si prueba la página, ingresando un nombre y una dirección de correo cualquiera, verá
      como el mensaje se genera.

38.          Ahora, bien, espere un poco, mire el "saludo". Haga clic otra vez en el botón...

39.            Espere… haga clic otra vez, verá que cada vez que "vuelve" la página, la hora se
      modifica. Esto es lo que decíamos acerca de que una página "vuelve a sí misma" y que TODO
      el ciclo de eventos se repite. Para que sólo se presente la hora de acceso de la PRIMERA vez
      que se ha alcanzado la página, debemos controlar si es realmente la primera vez. Esto es, se
      requiere modificar el código del evento Page_Load averiguando esta situación, a través de la
      propiedad "IsPostBack" del objeto Page. El código final a agregar sería:
40. private void Page_Load(object sender, System.EventArgs e){

41.   if (Page.IsPostBack == false){

42.     //aquí va el código que existía anteriormente

43.    }

44.     Si ahora prueba la página, verá que ya no se modifica la hora...