Pregunta

Necesito implementar un botón Atrás para mi sitio web asp.net. Puedo usar el método javascript para cumplir con mis requisitos. Pero al usar este método a veces necesito hacer clic en el botón Atrás varias veces para volver a la página anterior. Puede deberse a que estamos usando pestañas de jquery en nuestro sitio web. Para centrarme en una pestaña en particular, aparte de la primera pestaña al cargar la página, estoy usando Page.ClientScript.RegisterStartupScript(....).Así que no puedo tomar el usuario regresa a la página anterior con un solo clic.

También probé con los métodos asp.net-C# mencionados en el siguiente enlace.http://www.dotnetcurry.com/ShowArticle.aspx?ID=89Puedo volver a la página anterior, pero su estado se está perdiendo. ¿Podría alguien ayudarme a lograr mi requisito?

Detalles:
Tengo page1.aspx,page2.aspx (que contiene vista/edición de pestañas jquery).

En la página 1.aspx hay 2 botones (Ver, Editar). Si hago clic en el botón Ver, me lleva a la pestaña Ver página 2.aspx (primera pestaña) y si hago clic en el botón Editar, me lleva a la página 2. aspx con la pestaña Editar cargada. Ambas pestañas Ver/Editar contienen un botón Atrás.

También desde la pestaña Ver puedo navegar a la pestaña Editar, haciendo clic en otro botón Editar presente en ella.

Gracias.

¿Fue útil?

Solución

Los métodos que se han cubierto en su pregunta son esencialmente lo que está a su disposición.
Puede
1. Proporcionar un vínculo que utiliza javascript para hacer que el cliente regrese una página.
2. Proporcionar un enlace que los mensajes de vuelta al servidor que le redirige hacia atrás una página.

No estoy seguro de por qué el jQuery en su formulario web como se describe en su pregunta está causando que haga clic más de una vez para volver. Si usted sabe que siempre va a tomar 2 clics para volver podría intentar este método:

javascript: window.history.go(-2)

Cuando se utiliza la devolución de datos / método redirigir siempre va a estar utilizando un método HTTP GET para recuperar la página que usted está volviendo demasiado. Si desea mantener el estado tendrá que hacerlo manualmente es decir, guardar los valores al salir de la página en algún lugar, al igual que la sesión o una base de datos temporal, y al regresar a la página, durante la carga de la página, comprobar para ver si el usuario tiene estos los valores guardados y rellenar previamente ellos.

Otros consejos

He hecho algo similar (con redirecciones automáticas sin embargo) y tuve que hacer un seguimiento del número de páginas para volver en mi ViewState (o sesión si usted está saltando de una página a otra):

código subyacente

public void Page_Load()
{
    Session["pagesToGoBack"] = ((int)Session["pagesToGoBack"])++;
}

Mark-up:

<input type="button" value="Back" onclick='javascript:history.go(<%= Session["pagesToGoBack"] %>);' />

Tenga cuidado para restablecer la variable de sesión cuando sea necesario

Me hizo sentir un poco sucio pero funcionó:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top