PDF de programación - C# Formularios web - Desarrollo Profesional de Aplicaciones con C#

Imágen de pdf C# Formularios web - Desarrollo Profesional de Aplicaciones con C#

C# Formularios web - Desarrollo Profesional de Aplicaciones con C#gráfica de visualizaciones

Publicado el 1 de Junio del 2017
1.192 visualizaciones desde el 1 de Junio del 2017
898,8 KB
41 paginas
Formularios web

En este capítulo, nos centraremos en la construcción de páginas ASP.NET y adquiriremos los
conocimientos necesarios para ser capaces de crear nuestras propias páginas web dinámicas
con ASP.NET:

- En primer lugar, veremos en qué consisten los formularios web, una parte

fundamental de la plataforma .NET.

- A continuación, estudiaremos los controles que podemos incluir dentro de las
con formularios ASP.NET. Primero,
interfaces web que
analizaremos los tres tipos de componentes estándar incluidos en las bibliotecas
de la plataforma .NET correspondientes a ASP.NET. Después, llegaremos a ver
cómo podemos crear nuestros propios controles.

construiremos

- Cuando ya tengamos una buena noción de lo que podemos incluir en un
formulario ASP.NET, aprenderemos algo más acerca de su funcionamiento. En
concreto, nos interesará saber qué son los "post backs" y cómo se mantiene el
estado de una página ASP.NET.

44

Desarrollo Profesional de Aplicaciones con C#

Formularios web

Formularios en ASP.NET......................................................45
Ejecución de páginas ASP.NET .............................. 45
Creación de páginas ASP.NET................................ 47

Uso de controles en ASP.NET..............................................50
Controles HTML....................................................... 54
Controles web .......................................................... 56
Controles de validación............................................ 60
Controles creados por el usuario ............................. 62

Funcionamiento de las páginas ASP.NET ..........................74
Solicitudes y "postbacks" ......................................... 75
Estado de una página ASP.NET.............................. 79

© Fernando Berzal, Francisco J. Cortijo & Juan Carlos Cubero

Formularios web

45

Formularios en ASP.NET

En el capítulo anterior, presentamos una panorámica general del desarrollo de aplicaciones
web, en la que mostramos las distintas alternativas de las que dispone el programador y
situamos en su contexto la tecnología incluidas en la plataforma .NET para la creación de
interfaces web: las páginas ASP.NET.

ASP.NET sustituye a las páginas interpretadas utilizadas en ASP por un sistema basado en
componentes integrados en la plataforma .NET. De esta forma, podemos crear aplicaciones
web utilizando los componentes que vienen incluidos en la biblioteca de clases de la
plataforma .NET o, incluso, creando nuestros propios componentes. Lo usual es que estos
últimos los implementemos a partir de los componentes existentes por composición; esto es,
encapsulando conjuntos de componentes existentes en un componente nuevo. No obstante,
también podemos crear nuevos componentes por derivación, creando una nueva clase
derivada de la clase del componente cuyo comportamiento deseamos extender (como en
cualquier entorno de programación orientado a objetos).

Al construir nuestras aplicaciones utilizando componentes, podemos utilizar un entorno de
programación visual (como el Visual Studio .NET). Como consecuencia, al desarrollar
aplicaciones web, no hemos de prestar demasiada atención al HTML de nuestras páginas
ASP.NET, salvo, claro está, cuando estemos implementando los distintos componentes que
utilizaremos para crear los controles de la interfaz de usuario. En otras palabras,
los
componentes nos permiten crear nuestra aplicación centrándonos en su lógica. Los propios
componentes se encargarán de generar los fragmentos de HTML necesarios para construir la
interfaz web de la aplicación.

En esta sección veremos en qué consisten y cómo se crean las páginas ASP.NET, aunque
antes nos detendremos un poco en analizar cómo se ejecutan las páginas ASP.NET desde el
punto de vista físico.

Ejecución de páginas ASP.NET

Los servidores HTTP pueden configurarse de tal forma que las peticiones recibidas se traten
de diferentes formas en función del tipo de recurso solicitado. Básicamente, esta decisión la
realiza el servidor a partir de la extensión del recurso al que intenta acceder el cliente. En el
caso de las páginas ASP convencionales, cuando el usuario intenta acceder a un fichero con
extensión .asp, el Internet Information Server delega en la biblioteca asp.dll, que se
encarga de interpretar la página ASP. Cuando se utiliza ASP.NET, el IIS se configura de tal
forma que las solicitudes recibidas relativas a ficheros con extensión .aspx son enviadas a la
biblioteca aspnet_isapi.dll.

http://csharp.ikor.org/

46

Desarrollo Profesional de Aplicaciones con C#

Como su propio nombre sugiere, la biblioteca aspnet_isapi.dll es un módulo ISAPI.
Los módulos ISAPI, como vimos en el capítulo anterior, sirven para crear aplicaciones web
sin que en el servidor se tengan que crear nuevos procesos cada vez que, como respuesta a
una solicitud, se ha de crear dinámicamente una página web. La biblioteca encargada de la
ejecución de las páginas ASP.NET (aspnet_isapi.dll) encapsula el CLR [Common
Language Runtime] de la plataforma .NET. De esta forma, podemos utilizar todos los
recursos de la plataforma .NET en el desarrollo de aplicaciones web. La DLL mencionada
creará las instancias que sean necesarias de las clases .NET para atender las solicitudes
recibidas en el servidor web.

Ejecución de páginas ASP.NET: Usando el Internet Information Server

como servidor HTTP, una DLL ISAPI se encarga de que podamos

aprovechar todos los recursos de la plataforma .NET en el desarrollo de

aplicaciones web.

© Fernando Berzal, Francisco J. Cortijo & Juan Carlos Cubero

Formularios web

47

A diferencia de las páginas ASP tradicionales, las páginas ASP.NET se compilan antes de
ejecutarse. La primera vez que alguien accede a una página ASP.NET, ésta se compila y se
crea un fichero ejecutable que se almacena en una caché del servidor web, un assembly si
utilizamos la terminología propia de la plataforma .NET. De esta forma, las siguientes
ocasiones en las que se solicite la página, se podrá usar directamente el ejecutable. Al no tener
que volver a compilar la página ASP.NET, la ejecución de ésta será más eficiente que la de
una página ASP convencional.

Configuración del IIS

Para poder ejecutar páginas ASP.NET en el Internet Information Server, primero
hemos de indicarle cómo ha de gestionar las peticiones recibidas relativas a ficheros
con extensión .aspx. Para ello debemos utilizar la herramienta aspnet_regiis
que se encuentra en el directorio donde se instala la plataforma .NET:

<windows>/Microsoft.NET/Framework/v1.X.XXXX

donde <windows> es el directorio donde esté instalado el sistema operativo
Windows (C:/Windows o C:/winNT, por lo general) y v1.X.XXXX corresponde a
la versión de la plataforma .NET que tengamos instalada en nuestra máquina. Puede
que en nuestro ordenador existan distintas versiones instaladas de la plataforma .NET
y, usualmente, escogeremos la más reciente para utilizarla en la creación de nuestras
páginas ASP.NET.

Creación de páginas ASP.NET

La biblioteca de clases .NET incluye un conjunto de clases que nos serán de utilidad en la
creación de las páginas ASP.NET. Entre dichas clases se encuentra una amplia gama de
controles que podremos utilizar en la construcción de interfaces web para nuestras
aplicaciones, controles tales como botones, cajas de texto,
la
biblioteca de clases estándar también proporciona algunos componentes que nos facilitarán
realizar tareas comunes como la gestión del estado de nuestra aplicación web. Conforme
vayamos avanzando en la construcción de páginas ASP.NET, iremos viendo cómo funciona
cada uno de los componentes suministrados por la plataforma .NET.

listas o tablas. Además,

páginas ASP.NET se

Una aplicación web, generalmente, estará formada por varios formularios web. Cada uno de
esos formularios lo implementaremos como una páginas ASP.NET. En la plataforma .NET,
las
clase
System.Web.UI.Page. Dicha clase proporciona la base sobre la que construiremos
nuestras
de
System.Web.UI.Page en las que incluiremos la funcionalidad requerida por nuestras
aplicaciones.

implementaremos

construyen

ASP.NET,

subclases

creando

clases

derivadas

de

la

páginas

que

como

http://csharp.ikor.org/

48

Desarrollo Profesional de Aplicaciones con C#

En realidad, para mantener independientes la interfaz de usuario y la lógica asociada a la
aplicación, la implementación de las páginas ASP.NET la dividiremos en dos ficheros. En un
fichero con extensión .aspx especificaremos el aspecto de nuestra interfaz, utilizando tanto
etiquetas HTML estándar como etiquetas específicas para hacer referencia a los controles
ASP.NET que deseemos incluir en nuestra página. En un segundo fichero, que será un fichero
de código con extensión .cs si utilizamos en lenguaje C#, implementaremos la lógica de la
aplicación.

El siguiente ejemplo muestra el aspecto que tendrá nuestro fichero .aspx:

<% @Page Language="C#" Inherits="TodayPage" Src="Today.cs" %>

<h1 align="center">

Hoy es <% OutputDay(); %>

<html>
<body>

</h1>

</body>
</html>

El fichero anterior incluye todo lo necesario para generar dinámicamente una página web en
la que incluiremos la fecha actual, que aparecerá donde está el fragmento de código
delimitado por <% y %>, las mismas etiquetas que se utilizan en ASP tradicional para
combinar la parte estática de la página (las etiquetas HTML) con la parte que ha de generarse
dinámicamente. En esta ocasión, en vez de introducir el código necesario entre las etiquetas
<% y %>, hemos optado por implementar una función auxiliar OutputDay que definiremos
en un fichero de código aparte. El aspecto de este fichero de código, con extensión .cs, será
el siguiente:

using System;
using System.Web.UI;

public class TodayPage:Page
{

protected void OutputDay()
{

}

}

Response.Write(DateTime.Now.ToString("D"));

fichero

define

una

Este
clase
System.Web.UI.Page. En nuestra clase hemos incluido un método que se encargará de
generar un mensaje en el que se muestre la fecha actual. Para ello emplea
  • Links de descarga
http://lwp-l.com/pdf3841

Comentarios de: C# Formularios web - Desarrollo Profesional de Aplicaciones con C# (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad