12.170 cursos gratis
8.777.247 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Web forms. Programación

Autor: Hassan Chair
Curso:
9/10 (1 opiniýn) |86 alumnos|Fecha publicaciýn: 13/09/2011
Envýa un mensaje al autor

Capýtulo 5:

 Compartir datos. Páginas web

1.4. Compartir datos entre páginas de una misma petición
Además de los datos de usuario, las dos páginas que tratan la petición durante un proceso de transferencia pueden necesitar compartir otro tipo de información. Por ejemplo, la página inicial que recibe la petición podría acceder a una base de datos para recuperar algún tipo de información, información que también debería estar disponible para la página a la que se va a transferir la petición.

Como la instancia de la página inicial sigue en memoria cuando se transfiere la petición a la segunda, el problema podría resolverse si desde esta se pudiera obtener una referencia a aquella. Esto es posible gracias al objeto Context de ASP.

Context representa el contexto de ejecución de una página y entre sus propiedades está Handler, la cual contiene una referencia al objeto Page que recibe inicialmente la petición.

Así pues, si en la página inicial se almacena el dato que se quiere compartir en una propiedad pública de la clase, la segunda página podrá acceder fácilmente a este, tal y como queda ilustrado en el ejemplo:

paginas ASPX

Redireccionamiento
La transferencia de una petición desde una página a otra sólo puede realizarse si ambas páginas pertenecen a la misma aplicación ASP.NET (Web Site). Si la página aspx que recibe la petición tiene que pasar el control a otra página (aspx, html o asp) de una aplicación diferente, debería realizar un redireccionamiento.

Como su nombre indica, un redireccionamiento consiste en redireccionar al usuario a otra URL diferente a la que este ha solicitado. Esta operación se lleva a cabo mediante el método Redirect() del objeto Response de ASP y su formato es el siguiente:

void Redirect (String url)

Donde la cadena url representa la URL de la página a donde será redireccionado el usuario. Si la página se encuentra en otra aplicación (caso habitual) la URL debe ser absoluta. En caso de que la página redireccionada esté en la misma aplicación puede hacerse, aunque en estos casos es preferible utilizar Transfer() o Execute() la URL será relativa.

Rediccionamiento de paginas

Como se puede comprobar, durante el redireccionamiento la página que recibe la petición inicial realiza la llamada al método Redirect(). Al ejecutarse esta instrucción, finaliza el proceso de ejecución de la Pagina1 y se envía la respuesta HTTP al cliente de forma inmediata. En ella se incluye un encabezado que fuerza al navegador a realizar la petición de la pagina2.aspx, antes de llegar a procesar el cuerpo de la respuesta.

Este proceso es totalmente transparente para el usuario, que lo único que aprecia es que la dirección que aparece en su navegador cambia repentinamente, accediendo a una URL distinta a la que había solicitado en un principio.

Según lo que se acaba de explicar, el proceso de redireccionamiento supone que para que el usuario llegue a la página destino debe realizar dos peticiones HTTP. Esto, además de suponer un retardo adicional respecto a la transferencia de peticiones, donde el usuario realizaba una única petición a la aplicación, implica que tanto los datos que llegan en la primera petición a la página inicial como los que esta genera no estarán accesibles para la segunda página.

En caso de que las dos páginas involucradas en un redireccionamiento necesiten compartir datos, estos deberán ser insertados en la URL utilizada como argumento del método Redirect(), tal y como se ilustra en el ejemplo:

En Pagina1.aspx:

int num = 5;

this.Response.Redirect(“Pagina2.aspx?dato=” + num);

En Pagina2.aspx:

int valor = int.Parse(this.Request.QueryString[“dato”]);

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratarý tus datos para realizar acciones promocionales (výa email y/o telýfono).
En la polýtica de privacidad conocerýs tu derechos y gestionarýs la baja.

Cursos similares a Web forms. Programación



  • Výdeo
  • Alumnos
  • Valoraciýn
  • Cursos
1. Programación en C++
C++ es un potente lenguaje de programación que apareció en 1980, continuando con... [04/06/04]
69.596  
2. C# Curso de Programación
Curso Básico de programación en C#, este curso básico abarcará desde las bases del... [14/07/05]
15.672  
3. Programación estructurada
Este curso les ayudará a tener conceptos básicos de la programación. Estos... [25/04/07]
3.025  

ýQuý es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail