Aspectos fundamentales de la programación ASP.NET (2na parte)

Segunda parte del bloque que hablo de Aspectos fundamentales de la programación ASP.NET. Primero sería bueno leer la primer parte.

HTML, páginas estáticas

Es el escenario más simple que puedes tener en una web. Ahora prácticamente son todas dinámicas, hay ya pocas webs que utilicen páginas estáticas Html.

Una página Html contiene etiquetas que indican a los navegadores como tienen que renderizar el contenido.

Al final, todas las páginas dinámicas terminan enviando Html estático al navegador ya que es esto lo que interpreta y no los controles ASP.NET que verás más adelante.

<div>

<html>

<head>

<title>This is a static page</title>

</head>

<body>

<h1>Hello world</h1>

<table border="1" width="50%">

<tr> <th>Name</th>   <th>Age</th> </tr>

<tr> <td>Emily</td>  <td>4</td>   </tr>

<tr> <td>Thomas</td> <td>4</td>   </tr>

</table>

</body>

</html>

Añadir código de cliente

Esta técnica es la utilizada por las aplicaciones web para poder realizar tareas dinámicas en el cliente, es el navegador quien realiza el trabajo liberando así al servidor. El lenguaje por excelencia utilizado para el código de cliente es el Javascript. En ASP.NET verás que muchas de las funcionalidades que nos prestan los controles se convierten en acciones Javascript que se ejecutan al cliente.

<div>

<html>

<head>

<script language="javascript">

function displayValue()

{

alert("You entered: " + document.form1.text1.value);

}

</script>

</head>

<body>

<form name="form1">

<input type="text" size="10" name="text1" />

<input type="button" value="Click Me!" onclick="displayValue();" />

</form>

</body>

</html>

</div>

Se suele utilizar Javascript para validar datos en el cliente antes de ser enviadas al servidor, para realizar efectos en la interfaz gráfica y para realizar Ajax. Ha evolucionado mucho el concepto del código en cliente hasta al punto de existir Frameworks galardonados por la comunidad como son JQuery, MooTools, Dojo y muchos más. JQuery ha sido introducido por Microsoft en las aplicaciones web del .Net 4.

Proceso en el servidor

El proceso en el servidor te permite crear páginas dinámicamente, lo que son ASPX por ASP.NET. Son páginas que necesitan del Framework para poder ejecutarse y generar el contenido Html necesario para que el navegador pueda renderizar el contenido.

Las páginas estáticas anteriormente comentadas solo necesitan un servidor de páginas web como es el IIS de Microsoft que se encuentra en sus sistemas operativos para poder ser entregada al cliente. Las páginas dinámicas como son las .aspx de ASP.NET, .php de PHP, .jsp de Java, necesitan aparte del IIS el Framework que permita la compilación si es necesaria y la posterior ejecución del código asociado a la página dinámica.

Este código asociado es el que te permite si es necesario poderte conectar con servidores de bases de datos, servicios web para poder recuperar la información en tiempo real que te está pidiendo el cliente.

Formularios y proceso en el servidor

 

Formularios

Los formularios te permiten enviar información al servidor para que esta la pueda procesar. Un formulario es el cuerpo principal de todas las páginas aspx de ASP.NET, las denominadas Web Forms.

La etiqueta Html del formulario es el Form. Esta etiqueta tiene unos atributos que vale la pena comentar:

  • Action : Define la página que recibirá el contenido del formulario. En Web Forms este atributo es por defecto la misma página que tiene el formulario.
  • Method : Define el método Http que vas a utilizar para enviar el contenido. Existen dos que son los más utilizados en la web: GET y POST. Este atributo en los Web Forms es por defecto el POST.

En los formularios se puede enviar elementos de entrada como campos de texto, checkboxes, radio-buttons, botones, listas y otros.

 

Métodos

Tal y como he comentado existen dos métodos principales en el momento de enviar el formulario al servidor: Get y Post.

Para los dos el formato con el que se envía la información es la misma: campo=valor separando cada campo con el símbolo ‘&’.

Las diferencias básicas las encuentras en:

  • Get: Utiliza la Url para enviar la información. Por tanto puede  ser guardado en los favoritos de los navegadores pero tiene una longitud limitada. El estándar HTTP 1.1 que puedes leer en http://www.w3.org no indica ningún tipo de limitación, son los navegadores que lo imponen, en el caso del IE8 está en 2083 caracteres.
  • Post: La información se envía adjunto a la petición como si se tratara de un fichero. No existe ninguna limitación en la longitud y queda oculto al usuario, por tanto, no se puede guardar en favoritos.

Proceso en el servidor

Procesar en el servidor te permite dar contenido dinámico al usuario. Contenido dinámico significa que puedes determinar cual es la información que quiere ver el usuario en función a las entradas que te ha indicado en los formularios.

La primera solución que había para poder generar código en el servidor era CGI (Common Gateway Interface), era ejecutar un programa externo que leía las peticiones y su cabecera y generaba una respuesta.

Después apareció lo que llamamos el ‘scripting’, código anidado en las páginas Html que el servidor era capaz de ejecutar antes de enviar la página de respuesta. Aquí es donde encuentras ASP. Tecnología anterior a ASP.NET.

 

 

Más cosas en la tercera parte de este post.
Gracias
Advertisements

3 pensaments sobre “Aspectos fundamentales de la programación ASP.NET (2na parte)

  1. Retroenllaç: Aspectos fundamentales de la programación ASP.NET (3era parte) | Jordi Parareda
  2. Retroenllaç: Aspectos fundamentales de la programación ASP.NET (4rta parte) | Jordi Parareda
  3. Retroenllaç: Aspectos fundamentales de la programación ASP.NET (parte 5) | Jordi Parareda

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s