Redirecionamento de uma janela Telerik Rad
-
21-09-2019 - |
Pergunta
Em um aplicativo da web asp.net, tenho um pop-up modal criado com uma janela Telerik Rad.Nesse popup existe um botão que deve realizar alguma ação em seu "code-behind" e então redirecionar a aplicação para outra página.
Para o redirecionamento utilizo o comando javascript 'top.document.location.href = myPage' (enviado ao navegador a partir do code-behind com um ScriptManager.RegisterClientScriptBlock(...)).
Isso resolve meu problema, mas não é muito bom.Quando o botão é pressionado, isso aciona o post-back.No navegador, o pop-up é coberto por um RadLoadingPanel que desaparece quando o post-back é concluído.Então, durante alguns segundos, nada acontece na aplicação e só depois de algum tempo o navegador carrega a nova página.
O fato de nada acontecer durante alguns segundos não é bom, pois o usuário não pode saber o que o aplicativo está fazendo.
O que posso fazer ?Existe uma maneira melhor de fazer o redirecionamento?(Sou muito novo em programação javascript...).
Solução
Em vez de apenas chamar 'top.document.location.href = myPage', você pode chamar uma função que exibe uma sobreposição (por exemplo,mostre um RadAjaxLoadingPanel sobre o corpo da página pai) e defina o novo URL.Ver http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.html para obter informações sobre como mostrar painéis de carregamento com JavaScript.
Acho que o atraso após você definir location.href é normal - o navegador/servidor leva algum tempo para recuperar o HTML da nova página, para que a página antiga não possa desaparecer instantaneamente.