sábado, 29 de marzo de 2008

ASP.NET - automatica redireccion de pagina luego de un tiempo de inactividad I

Ahí te va Rubén, espero que sea lo que necesitas.

A veces es necesario dotar a las aplicaciones web de un comportamiento de redireccionamiento automático.
En este caso vamos a hacer que luego de transcurrido un tiempo de inactividad, la página automáticamente nos redireccione a otra página... puede ser para volver a loguearse, o también para prevenir que otros usuarios revisen contenido que no les pertenece o los casos que se les ocurra.

Francamente, no hay una sola forma de hacer esto... sino muchas...
en este post explicaremos una forma de hacer esto:
Caso 1: Cuando quiero que todas las páginas se redireccionen a una página común y en un mismo tiempo determinado para todos:

En este caso es conveniente trabajar con masterpages... podríamos crear una entrada en el web.config... que guarde el tiempo en segundos que se debe esperar antes que la página se redireccione:






Luego, añadimos el siguiente código en el page_load del masterpage...

Dim Time As String = ConfigurationManager.AppSettings("TimeBeforeRedirection")
If Not Page.IsPostBack Then
Response.AppendHeader("Refresh", Time & "; Url=Login.aspx")
End If


De esta manera, todas las páginas estarían bajo este control.
Caso 2: Si quiero que cada página tenga un tiempo de espera particular antes de la redirección automática:
En este caso, simplemente habría que poner este código en el page_load de cada página:
Dim MyTime As String = 20
If Not Page.IsPostBack Then
Response.AppendHeader("Refresh", MyTime & "; Url=Login.aspx")
End If


En el próximo post haremos esta redirección automática, pero usando javascript.

No hay comentarios.: