Pregunta

En una aplicación web ASP.NET, tengo una ventana emergente modal construida con una ventana RAD Telerik. En esa ventana emergente hay un botón que debe hacer alguna acción en su "código-detrás" y luego redirigir la aplicación a otra página.

Para la redirección, uso el comando javaScript 'top.document.location.href = mypage' (enviado al navegador desde el código-behind con un scriptManager.registerClientscriptBlock (...)).

Esto resuelve mi problema, pero no es muy agradable. Cuando se presiona el botón, esto desencadena el respaldo posterior. En el navegador, la ventana emergente está cubierta por un Panel de Radloading que desaparece cuando se termina el posterior. Luego, durante unos segundos, no sucede nada en la aplicación y es solo después de algún tiempo que el navegador carga la nueva página.

El hecho de que nada sucede durante unos segundos no es excelente ya que un usuario no puede saber qué está haciendo la aplicación.

Que puedo hacer ? ¿Hay una mejor manera de hacer la redirección? (Soy muy nuevo en la programación de JavaScript ...).

¿Fue útil?

Solución

En lugar de simplemente llamar a 'top.document.location.href = mypage', puede llamar a una función que muestra una superposición (por ejemplo, muestra un RadajaxloadingPanel sobre el cuerpo de la página principal) y luego establecer la nueva URL. Ver http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.html Para obtener información sobre cómo mostrar paneles de carga con JavaScript.

Creo que el retraso después de establecer la ubicación. El arrefo es normal: el navegador/servidor tarda un tiempo en recuperar la nueva página HTML para que la página anterior no pueda desaparecer al instante.

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