Quiero que si la página ASP me da un problema me muestre un mensaje en pantalla

Gracias por adelantado.
Mi problema es el siguiente:
Tengo un formulario de entrada de datos por el cual meto datos en una base de datos.
Lo que quiero hacer es que si la página ASP me da un problema me muestre un mensaje en pantalla (que si lo tengo echo), pero que luego me vuelva a la página anterior al igual que si pulsara el botón Atrás del navegador.
Gracias.
Respuesta
1
Tengo una pregunta antes de contestarte la tuya:
Cuando muestras el mensaje en pantalla lo haces escrito en la página (osea como un <% response. write mensaje %> o como un mensaje de cliente es decir,
<script language="javascript">
alert(mensaje)
</script>.
Es importante saber esto, para poderte orientar de como te devuelves a la página anterior

3 respuestas más de otros expertos

Respuesta
1
Sí que se puede hacer, lo que ocurre es que desconozco la sintaxis porque nunca lo he utilizado...
En principio puedes usar el comando Responde. Redirect. Con esto le indicas una URL a la que ir. Es, como dice el nombre, una redirección a otra página.
Puedes bien mostrar el error durante 2-3 segundos y luego redireccionar hacia atrás, o simplemente redireccionar al instante pasándole un parámetro que luego usaras para indicar el error en la página.
Por ejemplo:
Response.Redirect("pedirdatos.asp?err=1")
De esta forma en la página de petición de datos (a la que quieres volver) metes una función o un código, en el que identificas el tipo de error, y según cual sea generas la página de una forma diferente (por ejemplo "* Debes introducir un nombre" al lado del campo nombre, que es el que falta, supongamos.
Si el error es ASP y no te interesa que se muestre, pones simplemente "Ocurrió un error al enviar blabla, asegúrese de que todos los datos son correctos" (por ejemplo números en campos de letras o viceversa), y les dejas en el formulario principal sin más detalles sobre el error.
Es una de las formas de hacerlo, de forma que el usuario no ande de hoja en hoja, sino que directamente ve aparecer de nuevo la original.
Bueno, tendrías que asegurarte antes de redireccionar de meter los campos en variables para luego recargarlos, ya que al regenerar la hoja estos aparecerían vacíos.
Ya he encontrado la solución gracias por todo.
Se consigue con un script en JavaScript a través de la orde: window.history.Back()
Gracias.
Respuesta
1
Podes hacer lo que quieres por medio de 2 formas distintas
La primera es por medio de javascript
<a href=javascript:history.back(-1)>volver</a>
Esta orden es como si presionaras el botón atrás del navegador
La 2da es utilizando una variable de session
en la página del formulario
agregas el siguiente código
<%session("volver")="nombrepaginaactual.asp"%>
y en la pagina siguiente, al mostrar el error utilizas la siguiente orden
<a href=<%=session("volver")%>>volver</a>
La ventaja de esta opción es si necesitar recargar la página con datos nuevos
Cualquier duda puedes consultarme nuevamente sin inconvenientes
Respuesta
1
Puedes poner una función de javascript (muy sencilla) en la página de error. En el cuerpo <body onload="javascript:history.back()>"> Te aconsejo que pongas una imagen grande para que de tiempo a leer el error, si no quieres hacerlo tan patatero, pon un enlace con esa funcion, asi: <a href="javascript:history.back()></a>.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas