Question

Dans une application web asp.net, j'ai un popup modal construit avec un Telerik Rad fenêtre. Dans ce pop-up il y a un bouton qui doit faire une action dans son « code-behind », puis rediriger l'application vers une autre page.

Pour la redirection d'utiliser la commande javascript 'top.document.location.href = myPage' (envoyé au navigateur du code-behind avec un ScriptManager.RegisterClientScriptBlock (...)).

Cela résout mon problème, mais ce n'est pas très agréable. Lorsque le bouton est enfoncé, ce qui déclenche le post-retour. Dans le navigateur, le pop-up est couvert par une RadLoadingPanel qui disapper lorsque le post-retour est terminé. Puis, pendant quelques secondes, rien ne se passe dans l'application et il est seulement après un certain temps que le navigateur charge la nouvelle page.

Le fait que rien ne se passe pendant quelques secondes ne sont pas super car un utilisateur ne peut pas savoir ce que fait l'application.

Que puis-je faire? Y at-il une meilleure façon de faire la redirection? (Je suis très nouveau pour la programmation javascript ...).

Était-ce utile?

La solution

Au lieu d'appeler « top.document.location.href = myPage », vous pouvez appeler une fonction qui affiche une superposition (par exemple montrer un RadAjaxLoadingPanel sur le corps de la page parent) puis définissez la nouvelle URL. Voir http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel .html pour plus d'informations sur la façon de montrer les panneaux de chargement avec JavaScript.

Je pense que le délai après avoir défini location.href est normal - le navigateur / serveur prendre un certain temps pour récupérer la nouvelle page HTML si l'ancienne page ne peut pas aller instantanément

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top