Comprendiendo un poquito ASP.NET Webform

Comprendiendo un poquito ASP.NET Webform

Hola a todos y saludos desde el área de programación de espai. En este articulo vamos a hablar del lenguaje ASP.NET y en concreto de la principal característica de los proyectos Webforms de ASP.NET.

Para los que necesitan situarse, ASP.NET es un lenguaje de programación para la web clasificado como dinámico. Así como los lenguajes de programación web estáticos se ejecutan en el lado del cliente, es decir en el navegador (HTML, CSS, JAVASCRIPT), los lenguajes de programación web dinámico se ejecutan en el lado del servidor. Dentro de los lenguajes web dinámicos destacamos junto con ASP.NET, PHP y JSP. Son lenguajes competidores en la misma franja de programación, pero se ejecutan con servidores diferentes. Por norma general ASP.NET se ejecuta con un servidor IIS (Internet Information Server), PHP con un servidor Apache y JSP con un servidor Apache Tomcat.

La característica que vamos a tratar en este artículo Microsoft consiste en examinar la exportación del modelo de programación tradicional de Visual Basic a la programación web con webforms de ASP.NET. El modelo de programación de Visual Basic está basado en controles y con eventos asociados a dichos controles. Esta estrategia tuvo un gran impacto en la decada de los 90’s haciendo que muchas aplicaciones de escritorio se desarrollaran aplicando esta metodologia. Visual Basic fue su precursor pero otros fabricantes siguieron el mismo camino: Delphi de Borland, Powerbuilder, etc.

En las siguientes imágenes podemos ver la forma típica de programación usada por VB.NET para aplicaciones de escritorio, bajo el fundamento WYSIWYG (lo que ves es lo que programas) para el desarrollo de aplicaciones windows.

1

Al hacer click sobre el botón del formulario, se nos muestra la porción de código donde van las instrucciones que se ejecutaran al presionar con el ratón dicho botón.

2

Vamos a ver que esta misma estrategia es la que Microsoft ha extendido exitosamente a la programación web con webforms ASP.NET. La pregunta es cómo lo ha podido hacer si lo que predomina en la programación web son envíos de información con el protocolo HTTP (GET y/o POST). Resulta evidente que Microsoft ha tenido que enconder esta forma de comunicación de una manera ingeniosa en sus formularios web ASP.NET. Este es el tema del artículo y lo que vamos a tratar a continuación, pero para ello primero vamos a especificar todos los pasos necesarios para crear un proyecto ASP.NET en Visual Studio 2015. Tenemos que ir a Archivo/Nuevo Proyecto.

3

4

Una vez creado el proyecto, podemos ver los ficheros del proyecto que se han creado.

5A continuación tenemos que agregar un formulario webform de ASP.NET para poder empezar a trabajar

6

8

Vemos la imagen dual del formulario webform: en codigo html-asp y simulado sobre un navegador.

9

A este webform añadimos  3 controles: 2 textboxes y un botón.

11

Clickamos en el botón y agregamos el siguiente simple código (pasamos el contenido de la primera caja de texto a la segunda).

12

Ejecutamos el proyecto (Crtl + F5) y obtenemos la siguiente imagen, donde todo contenido que pongamos en el primer textbox al hacer click en el botón, lo pasamos al segundo textbox.

13

Hay que pensar que aunque no lo veamos, internamente se estan haciendo llamadas HTTP POST del formulario a el mismo. A continuación en el evento page_load indicamos que la primera caja de texto se inicialice con un 5.

14

Si ejecutamos el formulario observamos una cosa estrañísima. La primera caja de exto está inicializada con un 5. Al poner otra cantidad (por ejemplo un 7)  y hacer click en el botón nos aparecen las dos cajas de texto con un 5. ¿Que es lo que ha pasado?

15Lo que ha pasado es que cuando se hace click en el botón, tambien se reejecuta la rutina page_loader en el lado del servidor, y se vuelve a cargar el 5 en la caja de texto. Esto se arregla poniendo en el page_loader del webform la instrucción  If (Not Page.IsPostBack) Then:

16El significado de la instrucción page.IsPostBack resume lo que hemos pretendido con este articulo. ASP.NET sigue el mismo modelo de programación usado con VB.NET, pero debe de introducir algunos ticks para acercar esa programación a la web. Vemos que la instrucción page.IsPostBack es equivalente a la expresión if ($_POST) de PHP utilizado en los típicos formularios PHP. ASP.NET implementa, de manera oculta, los mismos recursos de cualquier otro lenguaje web de servidor, pero manteniendo la misma estructura de un formulario de una aplicación VB.NET.

Eso es todo y esperamos que este articulo haya sido de vuestro interes.

1 Comentario

  • federico
    12/06/2017

    Gracias… muy bueno!

Escribe un comentario